Why has setting the entry point\'s return type to void in C++ always been discouraged, and was later removed by the standard and is prohibited by modern compile
It's wrong because this is not what the C++ Standard specifies as a legal main. Nobody cares about what the other languages specify. For C++ programs, only the C++ Standard is relevant, and it says int.