Avatar ·

Was soll die Funktion main() in C++ zurückgeben? Korrekte Rückgabewerte

Hallo Kollegen! Ich habe gerade angefangen, C++ zu lernen, und habe eine grundlegende Frage zur Funktion `main()`. In verschiedenen Codebeispielen sehe ich, dass `main()` mit dem Typ `int` deklariert wird, aber manchmal treffe ich auf `void main()` oder sogar nur `main()` ohne Typ. Ich bin ganz verwirrt. Hier sind einige Beispiele, die ich gesehen habe: ```cpp // Beispiel 1 void main() { // ... } // Beispiel 2 main() { // ... } // Beispiel 3 int main() { // ... return 0; } // Beispiel 4 int main() { // ... return 1; } ``` Mein Compiler (Visual Studio 2019) meckert bei `void main()`, aber ich habe gesehen, dass es in einigen alten Büchern verwendet wird. Und was ist mit `return`? Ich habe irgendwo gelesen, dass `return 0` einen erfolgreichen Abschluss bedeutet und `return 1` einen Fehler. Aber was ist, wenn ich nichts zurückgebe? Wird das als Fehler betrachtet? Und überhaupt, warum muss das Betriebssystem wissen, was mein Programm zurückgegeben hat? Außerdem habe ich von den Konstanten `EXIT_SUCCESS` und `EXIT_FAILURE` gehört. Wann sollte man sie verwenden?