斯蒂芬·普拉塔(Stephen Prata)在他的《 C++ Primer Plus》 [p 31]一书中说:



但是C++ 11草案3.6.1-> 2表示



测试结果

$ g++ -Werror=pedantic MainCheck.cpp -o MainCheck
MainCheck.cpp:3:6: error: ISO C++ forbids declaration of ‘main’ with no type [-Werror=pedantic]
 main()
$ # also means g++ don't conform to the standard

证实Prata先生所说的关于C++标准的说法是正确的。

C++ 11草案中是否有条款禁止使用:
main() // that is without return type.





本身有这样的条款吗?

最佳答案

另请参阅What should main() return in C and C++?
ISO/IEC 14882:1998包含:

脚注78说:

C++ 11标准的¶9和脚注89中有相同的声明。
因此,声明为不带返回类型的main()从来都不是标准C++的一部分,但是直到创建C++ 98标准之前,它才被允许使用(出于向后兼容的原因,可能更长一些)。
如果您查看Stroustrup的“C++的设计和演化”(1994年出版),请参阅§2.8 C声明语法表示:

关于c++ - C++ 11中是否逐步淘汰了没有返回类型的main的使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37873874/

10-11 22:45
查看更多