In pre-standard C++, the prototype of main() didn’t have a return value. On some compilers, it was:
main() /* no explicit return value; int assumed*/
While others used one of the following:
int main() void main()
This chaotic situation was changed recently. Now the Standard specifies the following form:
int main()
Although most compilers still accept void as a return value, this is an obsolescent feature. You should always use the following form:
int main()