请教Dev-C++中编写helloworld总提示int main()错误

2024-12-19 20:27:42
推荐回答(1个)
回答1:

LZ错在把两个源程序当作一个程序来编译了。 ---- #include #include using namespace std; int main(int argc, char *argv[]) { system("PAUSE"); return EXIT_SUCCESS; } 以上是一个完整的C++源程序。 #include int main(){ std::cout<<"hello,world"; return 0; } 这也是一个完整的C++源程序。 其中后面那个才是Hello World程序(VC++ Debug会自动暂停显示,Dev-C++中会一闪而过,要加一行在return 0;之前加一行getchar();暂停并读取按键,才能看出来)。前面那个只是调用了控制台的PAUSE命令,效果为暂停,按任意键后退出。 ---- 编译错误深入分析(LZ现在看不懂也没关系,以后自然就会理解了): C++规定一个完整的编译出可执行文件的源程序有且一个main函数作为程序的入口,并且标准规定main的原型只能是int main(int argc, char *argv[]);或int main();之一(有些编译环境可能有其它扩展),void main()在标准制定之后都是错误的用法,只是一些编译器为了兼容旧代码才没有对这样的main函数产生编译错误。 这里前面定义了int main(int argc, char *argv[]),后面又定义了int main(),虽然每个定义都是正确的,但是出现了两次main,所以编译器提示后面的main标识符和前面一个冲突的编译错误。 ---- tzsuper 扯淡,和这里的错误和头文件 iostream 没半点关系。 ==== [原创回答团]