我在这里可以郑重地告诉大家,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---------------------
阅读(996) | 评论(0) | 转发(0) |