sth*_*sth 19
该标准在3.6.1中明确说明:
程序应包含一个名为main的全局函数,它是程序的指定开始.[...] 此功能不应过载.
因此,main程序中的全局范围中只能有一个函数.同样调用的其他范围中的函数main不受此影响,可以有任意数量的函数.
Ale*_*lli 11
只有一个函数可以在main任何名称空间之外命名,就像任何其他名称一样.如果你有命名空间foo和bar(等)你可以很好地拥有名为foo::main,bar::main等等的函数,但从系统的角度来看它们不会被视为任何特殊的东西(只有在main任何命名空间之外命名的函数被特别处理,作为该计划的切入点).当然,main你可以很好地称呼各种各样的foo::main,bar::main等等.
是! 为什么不?
请考虑以下代码:
namespace ps
{
int main(){return 0;}
}
int main()
{
ps::main();
}
Run Code Online (Sandbox Code Playgroud)
它::main()会在执行过程中被调用.