Avatar ·

Was soll die Funktion main() in C++ zurückgeben: void, int oder etwas anderes?

Hallo zusammen! Ich habe vor kurzem angefangen, C++ zu lernen, und bin bei der Funktion `main()` verwirrt. In verschiedenen Quellen habe ich unterschiedliche Deklarationen gesehen: mal steht `int main()`, mal `void main()`, und manchmal sogar `main()` ohne Typangabe. Ich habe versucht, ein einfaches Programm zu schreiben: ```cpp #include using namespace std; void main() { cout << "Hello, world!" << endl; } ``` In Visual Studio hat es kompiliert und sogar funktioniert, aber mit einem anderen Compiler (g++) gab es einen Fehler: `'::main' must return 'int'`. Warum ist das so? Was soll `main()` tatsächlich zurückgeben? Und muss ich am Ende etwas zurückgeben, wenn ich `int main()` schreibe? Funktioniert es, wenn ich nichts in `return` schreibe? Und noch eine Frage: Was gibt `main()` eigentlich zurück und wer braucht das? Erklärt es mir bitte für einen Anfänger, wie man den Einstiegspunkt in einem C++-Programm richtig schreibt. <<>>

Richtige Antwort: main() sollte immer int zurückgeben

Im C++-Standard (und C) ist klar festgelegt: Die Funktion main() muss int zurückgeben.