(我正在使用Visual C++ 2008)我总是听说main()需要返回一个整数,但是这里我没有放入return 0;
并且它编译时出现0错误和0警告!在调试窗口中,它表示程序已经退出代码0.如果此函数被命名为main()以外的任何东西,编译器会抱怨说'blah'必须返回一个值.粘贴a return;
也会导致错误出现.但完全不考虑它,它编译得很好.
#includeusing namespace std; int main() { cout << "Hey look I'm supposed to return an int but I'm not gonna!\n"; }
这可能是VC++中的一个错误吗?
3.6.1主要功能....
2实现不应预定义该
main
功能.此功能不应过载.它应具有类型的返回类型int
,否则其类型是实现定义的.所有实现都应允许以下两个主要定义:int main() { /* ... */ }和
int main(int argc, char* argv[]) { /* ... */ }....并继续添加......
5
return
语句main
具有离开main函数(销毁具有自动存储持续时间的任何对象)并exit
使用返回值作为参数进行调用的效果.如果控制到达结束而main
没有遇到return语句,则效果是执行return 0 ;
试图找到C++标准的在线副本,所以我可以引用这篇文章,我发现一篇博文,比我能更好地引用所有正确的位.
这是C++语言标准的一部分.如果main中没有显式的return语句,则会为您生成隐式返回0.