On 21 July 2016 at 12:40, Jonathan Wakely wrote: > On 21 July 2016 at 12:12, Oliver Kullmann wrote: >> On Thu, Jul 21, 2016 at 11:26:42AM +0100, Jonathan Wakely wrote: >>> On 21 July 2016 at 04:05, Oliver Kullmann wrote: >>> > Hello, >>> > >>> > a C++ compiler is not required to recognise "main(void)": >>> >>> That's incorrect. >>> >>> Although I consider (void) parameter lists to be an abomination in >>> C++, "int main(void)" has exactly the same type as "int main()" which >>> is one of the types that all implementations must support. >> >> Where did you get this? >> The Standard Subsection 3.6.1 says >> >> All implementations shall allow both of the following definitions of >> main: >> >> int main() >> and >> int main(int argc char* argv[]) >> >> That's it! > > It's 2016 not 2011. > > The Standard (i.e. C++14) specifies the *types* of main function that > all implementations support. int main() and int main(void) are the > same type. The old wording you're looking at was modified by http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1003