Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341638
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:05:52

    我在这里可以郑重地告诉大家,void main()这种写法是错误的,无论是C和C++标准中都没有这种写法。C++标准中规定main()函数必须有返回值,并且返回值必须为整形。
    这就是为什么你的void main()无法通过编译的原因。那么为什么还有很多人写成void main()的形式呢,就是因为他们错误地沿袭了其它函数的特点,以为所有的函数都可以是无返回值的,殊不知main()函数是个特例。C++标准规定main()函数只有两种形式:int main(void)和int main(int argc, char* argv[])。
    再有一个非常重要的原因就是很多编译器都认为void main()这种写法是正确的,比如Visual C++和C++ Builder这两个最强大的利器,这是因为他们在这方面并没有严格遵循C++标准。
    由于这些原因就造成了不但很多人写程序的时候使用了void main(),甚至是很多的教材上也使用了这种错误的写法。
    对于你所使用的编译器很显然在main函数的规定上严格遵循C++标准,所以造成了void main()无法通过编译,还有的编译器虽然能够通过编译,但是会给出warning。所以为了提高程序的可移植性,强烈建议使用int main(void)这种写法。

--------------------next---------------------

阅读(991) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~