Fehler, Irrtümer, Fragen - Seite 1643

 
A100:

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, без break
                return 0;
//много строк c return, continue, без break
                return 1;
        }
  return(значение возвращаемое по умолчанию если не выполнены предыдущее return);
}
 
Vitalii Ananev:

Nicht alle Zweige des Codes geben einen Wert zurück.

In seinem Beispiel tun sie das alle. Sie können while(true) nur mit break (was es nicht gibt) oder return beenden.
 
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.
Versuchen Sie das Gleiche in C++
 
A100:
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;

 
Vitalii Ananev:

Was hat C++ damit zu tun?

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;

Warum gibt es unnötige Klammern?
 
A100:
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.

 
Vitalii Ananev:

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.
 
Artyom Trishkin:
Sie können einen Wert ohne Klammern zurückgeben. Probieren Sie es einfach aus.
Ja, es lässt sich kompilieren, aber ich schreibe es immer mit Klammern. Es ist bereits eine Gewohnheit, die zur Regel geworden ist.
 
Vitalii Ananev:

Sie schreiben also in C++ und kompilieren das Ganze in mql?

Dies ist die Syntax der Sprache mql.

Sind Sie aus der fernen Vergangenheit zu uns gekommen? )