(Main must return int) in c++?
Ich verstehe das Problem nicht.
Warum muss ich int zurückgeben und was muss ich machen?
#include "vektor3.h"
int main(int argc, char *argv[]) { # main must return int
Vektor3 v1 = Vektor3(1, 2, 5);
v1.printVektor();
return 0;
}
2 Antworten
Warum muss ich int zurückgeben und was muss ich machen?
Den Int, den du zurückgibst, ist der Statuscode beim schließen. 0 ist quasi alles okay, -1 abgebrochen und so weiter. Da gibt's Listen zu oder kannst es selbst definieren.
Im Code fallen mir direkt zwei Sachen auf;
return = 0
};
return 0; - Return ist ein Keyword, keine Variable. Es fehlt ebenfalls das Semikolon.
Das Semikolon am Ende des Körpers darf auch dort nicht sein.
https://stackoverflow.com/questions/3178342/compiling-a-c-program-with-gcc
GCC kann auch C++ kompilieren.
Aber wie gesagt, da fehlt einiges, was wir nicht wissen.
return = 0
Hier weist du einer nicht deklarierten Variable namens "return" den Wert 0 zu, was natürlich weder funktioniert noch den Rückgabewert der Funktion beeinflusst.
Warum muss ich int zurückgeben und was muss ich machen?
Weil die Funktion so deklariert ist, dass sie einen int-Wert zurückgeben muss.
Es heißt
return 0;
Das Semikolon nach dem Funktionsblock kannst du dir dafür sparen.
Ich habe es geändert, aber trotzdem steht dort als Fehler "::main must return int (gcc)"