C++ 主罐';不可能是空的
可能重复:C++ 主罐';不可能是空的,c++,syntax,C++,Syntax,可能重复: 为什么C++不让我做代码>空主()/CUT>?这不是什么大问题,但我还是很好奇。因为main()的返回类型必须是int C++03[第3.6.1节主要功能] 实现不应预定义主要功能。此功能不应过载其返回类型应为int,否则其类型由实现定义 因为标准说它返回int。一些操作系统期望进程返回整数。声明main以返回一个int。如果不关心该值,只需返回0即可 从comp.lang.c常见问题解答: (有两种:无args和argc/argv。) (简短回答:否) 斯特劳斯特鲁普自己的回答
为什么C++不让我做代码>空主()/CUT>?这不是什么大问题,但我还是很好奇。因为
main()
的返回类型必须是int
C++03[第3.6.1节
主要功能]
实现不应预定义主要功能。此功能不应过载其返回类型应为int,否则其类型由实现定义
因为标准说它返回int。一些操作系统期望进程返回整数。声明main以返回一个int。如果不关心该值,只需返回0即可 从comp.lang.c常见问题解答:
- (有两种:无args和argc/argv。)
- (简短回答:否)
- 斯特劳斯特鲁普自己的回答:
我可以写“void main()”吗?
定义
void main() { /* ... */ }
不是C++,也不是C++。参见ISO C++标准3.61[2 ]或ISOC标准5.1.2.2.1。一致性实现接受
int main() { /* ... */ }
及
一致性实现可以提供更多版本的main(),但它们都必须具有返回类型int。main()返回的int是程序向调用它的“系统”返回值的一种方式。在不提供这种设施的系统中,返回值被忽略,但这不会使“空虚主”()“合法C++”或“合法C”。即使编译器接受“无效主程序”,也避免了它,或者被C和C++程序员认为是无知的。
<>在C++中,主()不需要包含显式返回语句。在这种情况下,返回的值为0,表示执行成功。例如:
#include<iostream>
int main()
{
std::cout << "This program returns the integer value 0\n";
}
#包括
int main()
{
STD::int IdId()的问题是什么?{返回0;};与[C++标准禁止ValueMe]()原型相同(?)。更好的问题是为什么使用流血C++?为什么要尝试<代码>空洞主()??
它不是void
,而是int
。它就是这样。你甚至不会注意到区别,因为你根本不需要显式的返回值。@Max:而且它是唯一一个可以省略return语句的非void return函数!所以int main(){}
更短一个字符!您甚至不需要显式返回任何内容。
#include<iostream>
int main()
{
std::cout << "This program returns the integer value 0\n";
}
#include<iostream>
main() { /* ... */ }