【发布时间】:2017-03-18 14:11:08
【问题描述】:
对于以下程序,一些编译器在执行时会发出警告
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;
}
【问题讨论】:
-
C++ 标准指定了
main函数的参数。单个int参数不在有效的替代方案中。参见例如thismainfunction reference 了解更多信息。 -
@Someprogrammerdude,不是必需的替代方案,但如果实现支持它仍然有效(来源:eel.is/c++draft/basic.start.main#2)
-
"main() 中的一个参数会发生什么?"实现定义的行为。
-
@A.S.H,环境变量允许第三个参数是很常见的。
-
@A.S.H,实际上,它可能是这样写的,因为我知道没有允许一个参数的实现,但有很多允许 3 个。