【发布时间】:2010-11-14 08:55:16
【问题描述】:
ISO 1998 c++ 标准规定,在 main 中不显式使用 return 语句等同于使用 return 0。
但是,如果实现具有不同的标准“无错误”代码,例如 -1,该怎么办?
为什么不使用标准宏 EXIT_SUCCESS,它将被 0 或 -1 或任何其他值替换,具体取决于实现?
C++ 似乎强制了程序的语义,这不是一种只应描述程序行为方式的语言的角色。此外,“错误”返回值的情况有所不同:只有EXIT_FAILURE 是标准的“错误”终止标志,没有明确的值,例如“1”。
这些选择的原因是什么?
【问题讨论】: