VS2008支持C++标准很好了,C++标准要求必须制定返回值类型,你加一个 int 就行了。
需要安装VS2008下面的补丁:VS90SP1-KB971092-X86
下载的
函数要有返回值。可以定义void main()返回时直接return。用int main()要return 0;
1、C和C++语言是不同的
2、C语言中函数和声明都可以省略int
例如unsigned x; 相当于unsigned int x;
foo(); 相当于 int foo(...);
3、C++语言中不允许直接使用 foo(); 必须写成 int foo(); 或者 void foo();
4、main的返回值不是void是int,此返回值对操作系统有意义。没有特殊情况请返回0,或者EXIT_SUCCESS(参考 stdlib.h 里面有说明)
main的正确形式是:
int main (int argc, char*argv[]);
int main (int argc, char*argv[], char *env[]);
至于为什么void不对,可以查阅EXIT_SUCCESS的相关说明。
简单的理解就是C的库函数里面有类似exit(main(...));的代码,main的返回值会传递给上层。
只不过初学者很少用到上层的操作。
函数要声明返回类型