这个问题出于好奇; 在为测试程序编写main时,我没有返回任何内容main(没有return声明main).但我宣称主要是int main().它编译成功.
如果有任何其他函数用int返回类型编写并且实际上没有返回int,我会得到一个错误
'函数名'必须返回值
那么为什么编译器不会为main功能抱怨相同?
在C中,以下恐怖是有效的:
myFunc()
{
return 42; // return type defaults to int.
}
Run Code Online (Sandbox Code Playgroud)
但是,在C++中呢?无论如何我都找不到它的参考...
我的编译器(Codegear C++ Builder 2007)目前在没有警告的情况下接受它,但我有评论说这是 C++中的错误.