对于以下程序,某些编译器会使用警告
执行它3:5: warning: 'int main(int)' takes only zero or two arguments [-Wmain]
有些没有。我可以使用带有一个参数的main()吗?
#include <iostream>
int main(int x)
{
x = 5;
std::cout << x;
return 0;
}
答案 0 :(得分:4)
C ++标准§3.6.1/ 2说明main
以下内容
功能:
它的返回类型为 键入
int
,但其类型是实现定义的。所有 实现应允许以下两个定义main
:int main() { /* ... */ }
和
int main(int argc, char* argv[]) { /* ... */ }
因此,最终由您的编译器决定int main(int x)
是否正常。毫无疑问,使用这样的main
函数会使您的代码不可移植。