Из стандарта регулярно узнаёшь что-нибудь новое про такие вроде бы простейшие основы основ, что если б сам в стандарте не прочитал, ни за что бы не поверил.
Оказывается:
- возвращаемым типом у main может быть только int, а void никогда не было ISO стандартом;
- но при этом в main (и только в main) можно опустить return. Это тогда считается return 0;
- в stdlib.h есть стандартные макросы EXIT_SUCCESS и EXIT_FAILURE;
- new int и new int() - разные вещи;