简而言之,我使用Microsoft Visual Studio 2012,使用C ++编程。我的主要方法有while(1)
重复一些代码,永远不会离开循环。
Microsoft Visual Studio允许我在没有main方法返回值的情况下进行编译,即使它已声明为int main(int argc, char** argv)
。这是其他编译器的标准,还是仅仅是"功能" Microsoft Visual Studio?
我意识到我从来没有得到返回值的代码,但是我应该只返回0;最后呢?
答案 0 :(得分:8)
按照标准,C ++中的main
函数隐式返回0,即使其中没有return语句。
确切参考(来自n3797):3.6.1.5
main
中的return语句具有离开main函数的效果(使用自动函数销毁任何对象) 存储持续时间)并以返回值作为参数调用std::exit
。如果控制到达终点 在没有遇到return
语句的情况下,效果是执行
return 0;
答案 1 :(得分:1)
return 0;
语句可以从main
中省略,即使其返回类型为int
。它由C ++标准定义。在这种情况下,它默认返回0
。