C++ c/c+;中main()的默认返回类型+;
为什么char/float/double(其他基本数据类型)不是main()的返回类型?,因为这就是语言的设计方式 从历史上看(即在ISO/IEC 9899制定之前),不存在C++ c/c+;中main()的默认返回类型+;,c++,c,types,C++,C,Types,为什么char/float/double(其他基本数据类型)不是main()的返回类型?,因为这就是语言的设计方式 从历史上看(即在ISO/IEC 9899制定之前),不存在void。具有您不关心的返回值的函数在声明时没有返回类型,这使得返回类型隐式地int。当时,实际上返回什么并不重要,调用main()的代码如下所示: setup_stuff(); main(argc, argv); exit(0); 当main()返回时,程序以退出状态0结束。想要返回非零退出状态的程序必须显式调用exit
void
。具有您不关心的返回值的函数在声明时没有返回类型,这使得返回类型隐式地int
。当时,实际上返回什么并不重要,调用main()
的代码如下所示:
setup_stuff();
main(argc, argv);
exit(0);
当main()
返回时,程序以退出状态0结束。想要返回非零退出状态的程序必须显式调用exit()
。计划9保留了这一模式。有些人认为这限制太大,因此更改此代码以返回main()
的返回值:
setup_stuff();
exit(main(argc, argv));
这就是我们最终返回
int
的main()
的原因。从我知道的,C++只是从C复制了这个设计方面。这可能是有用的:这些问题的规范重复是Int是默认的返回类型的主()