【发布时间】:2011-04-08 19:22:16
【问题描述】:
一些 C++ 编译器允许主函数具有返回类型 void。但是操作系统不要求返回int类型值来指定程序是否正常结束吗?
【问题讨论】:
-
你从哪里学来的? C++ 要求
main的返回类型为int。 -
@dirkgently:关于 C. 5.1.2.2.1 bulet point 1 是错误的,特别允许 main 以“其他一些实现定义的方式”定义。同样 5.1.2.2.3 以“如果 main 函数的返回类型是与 int 兼容的类型”这句话开头,这意味着 main 不必返回 int。
-
来自同一子句:应使用 int 的返回类型定义。您引用的部分被一些专家认为是缺陷:groups.google.com/group/comp.std.c/msg/7340b025f5fe8657 和groups.google.com/group/comp.lang.c/msg/c1a1cc0a23af7227。最后,该标准的其他领域是依赖于实现的,建议不要为了严格遵守的程序而混淆这些领域。符合标准的程序是符合标准的实现所接受的任何东西——但这并不能使
void main更正确。
标签: c++