gab*_*lin 8 c++ program-entry-point
我在C++ Primer中读到了main
不允许递归调用的问题,并且在SO的一些相关问题中确实证实它是非法的.
但为什么这是非法的?只要你避免堆栈溢出,调用main
内部的问题是什么?
小智 1
嗯,标准规定:
3.6.1.3 “main 函数不得在程序中使用。”
5.2.2.9“允许递归调用,除了名为 main 的函数”
我想这是因为 main() 是一个用作程序入口点的特殊函数。我想说的是保持它的特殊性,不要把它降低到正常功能的水平,因为它不是。