CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

为什么我在Dev-C++4.9.9.2中写C++程序时,主程序老是要用int main(), 如果用void main(),则提示:‘main’must return 'int'?

楼主whhzkl()2005-09-21 15:24:09 在 C/C++ / C++ 语言 提问

为什么?  
  谢谢! 问题点数:60、回复次数:14Top

1 楼junguo(junguo)回复于 2005-09-21 15:29:02 得分 5

标准c++支持两种main()  
  int   main()  
  {  
  ...  
  }和  
  int   main   (int   argc,   char*   argv[])  
  {  
  ...  
  }  
  Top

2 楼Murder9527(葫芦鬼)回复于 2005-09-21 15:30:50 得分 5

C++新标准吧?偶也是菜鸟  
  int   main()  
  {  
        ...  
        system("pause");  
        return   0;  
  }  
  Top

3 楼lionheadwsck(狮子头)回复于 2005-09-21 15:45:32 得分 5

编译器相关的问题Top

4 楼zhouhuahai(道号"虚无")回复于 2005-09-21 15:59:31 得分 5

这个偶也觉得不解.Top

5 楼nillge(南祠)回复于 2005-09-21 16:00:51 得分 0

是link时的错误吧,当你和C   Runtime   library   link时,入口点是mainCRTstartup,他再去调你的main,你的main必须return   int.   这样你就可以的:link   **.obj   /ENTRY:"main",就是入口点就从你的代码开始.Top

6 楼nillge(南祠)回复于 2005-09-21 16:07:19 得分 5

好像说的不是很清楚,具体参考msdn:ENTRY   linker   option.或者看看micorsoft   C   RunTime   library   mainCRTstartup   function.,   thanks.Top

7 楼DiabloWalkOnTheEarth(我想到个绝妙的昵称,只是地方太小,写不下)回复于 2005-09-21 18:01:35 得分 5

同意   junguo(junguo)   (   )    
   
  因为新的标准规定   main   的原型只能是   int   main()   和   int   main(   int   ,   char*[]   ).Top

8 楼vliqi(crazy)回复于 2005-09-21 18:48:55 得分 5

在shell脚本编程时,返回值是十分重要的东西,可以影响整个脚本的流程,  
  故强迫?Top

9 楼jixingzhong(瞌睡虫·星辰)回复于 2005-09-21 19:16:54 得分 5

恩         是标准的问题   !!  
  标准规定了   main()   只能返回   int     !!Top

10 楼jiajun2001(Jagen(嘉俊))回复于 2005-09-21 20:40:03 得分 5

C99标准中就没有定义void   main()这样的入口函数。  
  为了兼容性问题,大家最好使用int   main(   int   argc,   char   *argv[]   )这样的定义。Top

11 楼K()回复于 2005-09-21 22:16:06 得分 5

标准的问题!Top

12 楼pongba(刘未鹏|http://blog.csdn.net/pongba)回复于 2005-09-22 00:04:22 得分 5

不是什么“新”标准,C++第一届标准C++98就这么规定了,只不过那些编译器由于一些历史原因(98之前就发展起来了,当时标准未确定,所以用了旧式的void   main()),这个坏习惯一直留到今天。  
  Top

13 楼megaboy(飞天御剑流之杀神一刀斩)回复于 2005-09-22 08:06:52 得分 5

C89开始就已经不承认void   main()这种形式啦,对于main()这种形式也只是勉强支持。如果你的编译器不承认void   main(),那说明它严格执行了这一规定。但为了兼容过去的程序,现在不少编译器仍然允许void   main()。Top

14 楼whhzkl()回复于 2005-09-22 09:17:57 得分 0

谢谢大家!结贴Top

相关问题

  • 关于C#主程序入口的问题??急!!
  • C#主程序中怎么实现暂停啊?
  • Delphi主程序,C++动态库,怎样在动态库中调用主程序里面的函数(类似事件触发类)
  • 请问函数申明为void Func ( char str[100])的如何在主程序中调用?
  • 用c++builder做一个from验证密码,密码通过后,调用另外一个主程序,我用close()和show()时出错?请问如何处理?
  • 谁正在读《C++Builder5编程实例与技巧》之八--例程S13A的问题,DLL怎么与主程序建立链接?
  • 用C++Builder编写DLL在编译的时候为什么要Run | Parameters,选择宿主程序是什么意思!
  • DEV C++
  • 我想在我的C++程序中加一条语句,让主程序延迟结束,自己可以在程序中定义时间,请问该怎么加?(解答就有分)
  • 请求技术支持(有谁知道解偏微分方程的完全多网格法的主程序的C++代码) ,对提供有用信息的大侠宁愿送所有的分

关键词

  • c++
  • 编译器
  • main
  • 标准
  • 入口
  • 规定
  • 问题
  • link
  • char

得分解答快速导航

  • 帖主:whhzkl
  • junguo
  • Murder9527
  • lionheadwsck
  • zhouhuahai
  • nillge
  • DiabloWalkOnTheEarth
  • vliqi
  • jixingzhong
  • jiajun2001
  • K
  • pongba
  • megaboy

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo