游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3209|回复: 4

为啥main函数不用返回值??

[复制链接]

14

主题

77

帖子

83

积分

注册会员

Rank: 2

积分
83
发表于 2009-7-3 00:44:00 | 显示全部楼层 |阅读模式
int main(){ }

这样一个程序居然能编译成功。为啥?

main前面明明写了int,不return东西它也行?

其他函数都是不允许这样的,为什么main要搞特殊化呢? [em20]

3

主题

32

帖子

36

积分

注册会员

Rank: 2

积分
36
发表于 2009-7-3 09:54:00 | 显示全部楼层

Re:为啥main函数不用返回值??

2.2.9  main()的定义式
  我乐于澄清这个语言中一个重要而又常被误解的问题,那就是正确而可移植的main()的唯一写法。根据c++标准规格,只有两种main()是可移植的:
int main()
{
   ...
}
  
int  main(int  argc,  char *  argv[])
{
   ...
}

  这里argv(命令行参数数组)也可定义为char**。请注意,由于不允许"不言
而喻"的返回型别int,所以返回型别必须明白写为int.你可以使用return述句来结束main(),但不必一定如此。这一点和c不同,换句话说.c++在main()的末尾定义了一个隐式的:
  return O:
  这意味如果你不采用return语句离开main(),实际上就表示成功退出(传回任何一个非零值都代表某种失败),出于这个原困,本书范例在main()尾端都没有return语句。有些编译器可能会对此发出警告(译注,例如Visual C++).有的甚至认为这是错误的·唔,那正是标准制定前的黑暗日子。

为什么搞特殊化就不清楚了,他本来就很特殊

3

主题

62

帖子

68

积分

注册会员

Rank: 2

积分
68
发表于 2009-7-3 14:27:00 | 显示全部楼层

Re:为啥main函数不用返回值??

没有main的话 一切都是浮云。。。
不写return其实也是return 0的

4

主题

31

帖子

31

积分

注册会员

Rank: 2

积分
31
发表于 2009-7-6 00:12:00 | 显示全部楼层

Re:为啥main函数不用返回值??

见C++标准
Main function

1

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2009-7-29 23:20:00 | 显示全部楼层

Re: 为啥main函数不用返回值??

不可以吧,如果只是return后边不跟什么值的话,应该报错的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-6 04:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表