c ++标准禁止void main()原型吗?

Jic*_*hao 6 c++ standards program-entry-point

在C++标准1998和2003版本的3.6.1.2节中,

实现不应预定义主函数.此功能不应过载.它应该具有int类型的返回类型,否则其类型是实现定义的.

我不是母语为英语的人.我不确定"但是否则"是什么意思.是否禁止其他返回类型,或赋予C++编译器编写者权利?

那么答案是什么?

bma*_*ies 12

您引用的英语禁止​​声明main返回void.它允许参数的变化,而不是返回类型.


小智 7

Aaargh!是的,它确实.标准允许的唯一返回类型是int.引用第3.6.1节:

它应该具有int类型的返回类型,否则其类型是实现定义的.

意思是它看起来像这样:

int main( float f );
int main( int x, int y );
Run Code Online (Sandbox Code Playgroud)

等等