C++中main()函数应该返回什么:void、int还是其他?
大家好!我最近开始学习C++,对`main()`函数感到困惑。我在不同资料中看到不同的声明:有的写`int main()`,有的写`void main()`,有时甚至只写`main()`而不指定类型。我试着写了一个简单程序:
```cpp
#include
using namespace std;
void main() {
cout << "Hello, world!" << endl;
}
```
在Visual Studio中这能编译甚至运行,但在另一个编译器(g++)中报错:`'::main' must return 'int'`。为什么会这样?`main()`实际上应该返回什么?如果我写`int main()`,最后是否需要返回什么?如果我在`return`中什么都不写,程序还能工作吗?还有一个问题:`main()`到底返回什么,返回给谁?请为新手解释一下,如何正确编写C++程序的入口点。
<<>>
正确答案:main()必须始终返回int
在C++(和C)标准中明确规定:main()函数必须返回int类型。