黑马程序员技术交流社区

标题: 遇到了一个main函数返回值的报错问题,现在回想一下为什么。 [打印本页]

作者: 丹丹    时间: 2015-1-13 18:54
标题: 遇到了一个main函数返回值的报错问题,现在回想一下为什么。
前几日在VS2008做基础测试的时候,编写一个main函数,前面没有写返回类型,后来编译运行的时候出错,出错提示大致为:VS2008 搜索error C4430: 缺少类型说明符,不支持不识别int。(注意: C++ 不支持默认 int)
直接将错误提示复制询问度娘,下面有一个大神提示,main函数前面要加返回类型int,果真加了int返回类型之后就没有任何错误了。
现在回想一下 为什么加一个int返回类型就可以了,不加的时候为什么出错。现在就理清一下main函数的返回值问题
VS2008搜索 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int,
答案是 标准的C++中main是需要返回值的,所以在main之前加上int,即可解决了问题。
在 C89 中,main( ) 是正确的。Brian W. Kernighan 和 Dennis M. Ritchie 的经典巨著 The C programming Language(《C 程序设计语言》)用的就是 main( )。
不过在最新的 C99 标准中,只有以下两种定义方式是正确的:
int main( void )
int main( int argc, char *argv[] )(参考资料:ISO/IEC 9899:1999 (E) Programming languages — C 5.1.2.2.1 Program startup)
 main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统)。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2