C++ main function doesn't need return but has int return type(en.cppreference.com) |
C++ main function doesn't need return but has int return type(en.cppreference.com) |
My reading of https://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf says the C99 spec requires "int main(void)", "int main(int argc, char *argv[])" or "some other implementation-defined manner".
There's also the clause that if the type is compatible with int then "reaching the } that terminates the main function returns a value of 0.".
In other words, C implicitly adds return 0 if missing (and appropriate).