【问题标题】:Returning ints versus void [duplicate]返回整数与 void [重复]
【发布时间】:2011-05-17 15:19:51
【问题描述】:

可能重复:
What is the proper declaration of main?

不久前,我参加了有关 c++ 算法的课程。我们在课堂上使用了 Visual Studio,有时在编写 main 函数时,我们会将其声明为 void main() { 而不是 int main(){return 0;} 。这很好用,虽然我知道通常你应该使用 int。就在最近,我尝试从 linux 的 netbeans 类中编译相同的代码。这一次,它不会接受将 main 函数声明为 void。为什么 g++ 编译器需要将 main 函数声明为 int?对不起,如果这是一个愚蠢的问题。

【问题讨论】:

  • 这在What is the proper declaration of main?中有讨论(那篇帖子里有很多信息。总而言之,C和C++中main()的返回类型必须是int。Visual C++发生支持main(),返回类型为void,作为非标准的、实现提供的语言扩展)。

标签: c++ function main


【解决方案1】:

标准规定它必须是int main()(这里强调返回类型,而不是参数)。

void main() 不是标准的,因此必然会在各种平台上中断。

【讨论】:

    【解决方案2】:

    我记得每个程序都有一个返回值,虽然我不记得它是否只是默认返回某个数字。在汇编中,如果我没记错的话,你可以只说返回,而不必给出值。

    也可能只是它不是 C++ 编译器的标准,就像 EboMike 所说的那样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-08
      • 2018-01-24
      • 2017-07-09
      • 2023-03-09
      • 2013-04-30
      • 2020-05-27
      • 1970-01-01
      • 2014-09-12
      相关资源
      最近更新 更多