Zitat von
Xrystal
Je nachdem, wie "streng" der Compiler eingestellt ist, wäre es sogar falsch ohne return. Der Compiler nimmt als default zwar an, dass "int" verwendet und dementsprechend auch zurückgegeben wird, aber je nach Flags gibts auch eine Warnung.
Ob bei entsprechenden Einstellungen eine Warnung kommt oder nicht, ist vollkommen unwichtig. Bei anderen Compilern habe ich es noch nicht ausprobiert, aber zumindest der Microsoft-Compiler beschwert sich bei "enable all warnings" wahrscheinlich sogar, wenn draußen schlechtes Wetter ist, um es mal übertrieben auszudrücken. Es gibt z.B. schon eine Warnung, wenn eine Struktur Bytepadding braucht, aber das macht es noch lange nicht schlecht oder gar falsch.
Wichtig ist in erster Linie, was im Standard steht:
A return statement in main has the effect of leaving the main function (destroying any objects with automatic storage duration) and calling std::exit with the return value as the argument. If control reaches the end of main without encountering a return statement, the effect is that of executing return 0;
Über Stilfragen könnte man streiten, aber ich sehe in der Anweisung keinen wirklichen Mehrwert und lasse die Faulheit siegen.