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