不久前我参加了c ++算法课程。我们在课堂上使用了visual studio,有时在编写main函数时我们将它声明为void main(){而不是int main(){return 0;}。虽然我知道通常你应该使用int,但这工作正常。就在最近,我尝试在linux中的netbeans中编译相同的代码。这次,它不会接受声明为void的主函数。为什么g ++编译器要求将main函数声明为int?对不起,如果这是一个愚蠢的问题。
答案 0 :(得分:1)
标准说它需要int main()
(这里强调返回类型,而不是参数)。
void main()
不是标准的,因此必然会在各种平台上中断。
答案 1 :(得分:0)
我记得每个程序都有一个返回值,虽然我不记得它是否只是默认返回一个数字。在汇编中,如果我没记错的话,你可以说返回,而不必给出值。
或者它可能只是因为它不是C ++编译器的标准,就像EboMike说的那样。