Fehler, Irrtümer, Fragen - Seite 1654

 
Alexey Viktorov:
Хочешь сказать при закрытых графиках не скрывается символ?
Alexey Viktorov
:

Sie meinen, das Symbol wird nicht ausgeblendet, wenn die Diagramme geschlossen sind?

Ja, ich habe so etwas schon ein paar Mal erlebt.

 
Vitalii Ananev:

Die Fehlermeldung ist dennoch korrekt.

Ursprünglich habe ich dem nicht viel Aufmerksamkeit geschenkt, aber nachdem ich wieder darauf gestoßen bin, gibt es Argumente dafür, dass es nicht richtig ist. Und das ist der Grund: Weiter ist bedingter Code

int f()
{
        while ( true )
        {
//много строк c return, continue, без break
                return 0;
//много строк c return, continue, без break
                return 1;
//много строк c return, continue, без break
        }
        return Random(); //(*) написано по требованию MQL компилятора //строка 61
}

Die Frage, was nach while(true) {} zu tun ist, lautet wie folgt: "Wir werden sowieso nie dort sein... return wird nur formell benötigt - damit der Compiler OK sagen kann... Setzen wir also einen Zufallswert dort ein - return Random();".

Nach einiger Zeit nehmen wir einige Änderungen am Code vor und müssen nun eine Pause innerhalb von while einfügen
In diesem Fall wird der Compiler sagen: "OK. Es gibt Code nach while(true) {}, was bedeutet, dass der "break"-Fall bereits früher vorgesehen war und es den gleichen "break" in dieser Reihe von Zeilen geben muss. Alle Rückgabewerte waren damals schon durchdacht - machen Sie sich keine Mühe".
Und am Ende erhalten wir einen Zufallswert.

Wenn jedoch keine Zeichenkette (*) am Anfang steht, meldet der Compiler: "Error: No... ...auf keinen Fall... Es gab vorher keine Pause und wir müssen etwas Bewusstes zurückgeben".

Es hat sich herausgestellt, dass die (*)-Zeichenkette nicht nur übertrieben ist, sondern auch die Wahrscheinlichkeit von schwer zu findenden Fehlern erhöht

 
A100:

Ursprünglich habe ich dem nicht viel Aufmerksamkeit geschenkt, aber als ich wieder darauf stieß, gab es ein Argument, dass es nicht richtig war...

Außerdem sollten Sie in Ihrem Beispiel normalerweise eine Warnung "unerreichbarer Code" erhalten. Studio gibt diese Warnung auch nicht aus, aber der Bordeaux-Compiler tat es, wenn ich mich recht erinnere.
 
Sergei Vladimirov:
Außerdem sollten Sie in Ihrem Beispiel normalerweise die Warnung "Unerreichbarer Code" erzeugen. Studio gibt eine solche Warnung auch nicht aus, aber der Borland-Compiler tat es, wenn ich mich recht erinnere.

Gutes Gedächtnis.

Und Borland gibt keine Abmahnungen wegen Kleinigkeiten heraus, was meine Argumente einmal mehr bestätigt

 
A100:

Und Borland gibt nicht umsonst Warnungen aus...

Da stimme ich nicht mit Ihnen überein. :) Es scheint mir, dass dies eine Kleinigkeit ist, die keine Aufmerksamkeit verdient. Sie stecken einfach return(0) ein und machen weiter.

Außerdem ist es in MCL besser, immer while(!IsStopped()) anstelle von while(true) zu verwenden, denn in diesem Fall ist die Rückkehr nach der Schleife bereits obligatorisch.

 
Hat noch jemand Probleme mit der Cloud-Optimierung (nicht nur) oder ist es nur mein "Glück", dass sie mit dem neuen MT5-Build nicht mehr funktioniert?
 
In meinem Editor wird die Liste der verfügbaren Methoden nach dem Punkt nicht heruntergeklappt. Das ist für mich sehr unangenehm. Wie kann ich es reparieren? In der alten Version wurde die Liste heruntergeklappt.
 
vinnipyx:
In meinem Editor wird die Liste der verfügbaren Methoden nach dem Punkt nicht heruntergeklappt. Das ist sehr unangenehm für mich. Wie kann ich es reparieren? In der alten Version fiel sie nach unten.
Das gleiche Problem. Ich muss anfangen, aus dem Gedächtnis zu tippen, und nach ein paar Buchstaben fällt es raus, aber nur ab diesen Buchstaben.
Das ist furchtbar lästig.
 

Wie wäre es damit

 
Vladimir Pastushak:

Wie wäre es damit

vielleicht ist es ein Strukturkonstruktor? er ist jedenfalls da
Grund der Beschwerde: