main()中的一个参数会发生什么?

时间:2017-03-18 14:11:09

标签: c++ main

对于以下程序,某些编译器会使用警告

执行它
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;
}

1 个答案:

答案 0 :(得分:4)

C ++标准§3.6.1/ 2说明main以下内容 功能:

  

它的返回类型为   键入int,但其类型是实现定义的。所有   实现应允许以下两个定义   main

int main() { /* ... */ }
     

int main(int argc, char* argv[]) { /* ... */ }

因此,最终由您的编译器决定int main(int x)是否正常。毫无疑问,使用这样的main函数会使您的代码不可移植。