Kompilierfehler: ')'. - nicht alle Kontrollpfade geben einen Wert zurück
Nicht alle Zweige des Codes geben einen Wert zurück:
int f()
{
int res = 0;
while ( true ) //или for(;;)
{
//много строк c return, continue, без break
res = 0;break или continue//много строк c return, continue, без break
res = 1;break или continue
}
return(res);
}
Oder so:
int f()
{
while ( true ) //или for(;;)
{
//много строк c return, continue, без breakreturn0;
//много строк c return, continue, без breakreturn1;
}
return(значение возвращаемое по умолчанию если не выполнены предыдущее return);
}
Sergei Vladimirov: In dem Beispiel, das er nennt, sind es alle. Die einzige Möglichkeit, while(true) zu beenden, ist mit break (was er nicht hat) oder return.
Ich werde mich nicht streiten. Aber die Fehlermeldung des Compilers ')' - nicht alle Kontrollpfade einen Wert zurückgeben, sagt etwas anderes.
Vitalii Ananev: Ich werde mich nicht streiten. Aber die Compiler-Fehlermeldung ')' - nicht alle Kontrollpfade einen Wert zurückgeben, sagt etwas anderes.
Ich habe mir Ihren Code genauer angesehen. Sie haben einen Fehler übersehen: Der Rückgabewert des Operators return sollte in Klammern geschrieben werden. return(0), aber Sie schrieben return 0;
Außerdem fungiert C++ in diesem Fall als ein bestimmtes Modell.
Vitalii Ananev:
Ich habe mir Ihren Code genauer angesehen. Sie haben einen Fehler übersehen - der Rückgabewert des Rückgabeoperators sollte in Klammern geschrieben werden. return(0), aber Sie schrieben return 0;
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Kompilierfehler: ')'. - nicht alle Kontrollpfade geben einen Wert zurück
Nicht alle Zweige des Codes geben einen Wert zurück:
Oder so:
Nicht alle Zweige des Codes geben einen Wert zurück.
In dem Beispiel, das er nennt, sind es alle. Die einzige Möglichkeit, while(true) zu beenden, ist mit break (was er nicht hat) oder return.
Ich werde mich nicht streiten. Aber die Compiler-Fehlermeldung ')' - nicht alle Kontrollpfade einen Wert zurückgeben, sagt etwas anderes.
Versuchen Sie das Gleiche in C++
Was hat C++ damit zu tun?
....
Ich habe mir Ihren Code genauer angesehen. Sie haben einen Fehler übersehen: Der Rückgabewert des Operators return sollte in Klammern geschrieben werden. return(0), aber Sie schrieben return 0;
Was hat C++ damit zu tun?
Ich habe mir Ihren Code genauer angesehen. Sie haben einen Fehler übersehen - der Rückgabewert des Rückgabeoperators sollte in Klammern geschrieben werden. return(0), aber Sie schrieben return 0;
Während C++ in diesem Fall als Referenz fungiert
Sie schreiben also in C++ und kompilieren das Ganze in mql?
Warum die zusätzlichen Klammern?
Dies ist die Syntax der Sprache mql.
Sie schreiben also in C++ und kompilieren das Ganze in mql?
Dies ist die Syntax der Sprache mql.
Sie können einen Wert ohne Klammern zurückgeben. Probieren Sie es einfach aus.
Sie schreiben also in C++ und kompilieren das Ganze in mql?
Dies ist die Syntax der Sprache mql.