或者这是 C++ 不支持 C 的事情之一?
问问题
415 次
3 回答
11
C++ 不向后兼容 C。
C++看起来像是C 的超集,但实际上并非如此。
于 2013-07-08T17:09:29.160 回答
5
void main
在 C 语言中是非法的。我无法在此处访问我的 C90 副本(在纸上),但 C99 明确表示(关于main
)“它应使用 int [...] 的返回类型定义”。
事实上,自 Kernighan 和 Richie 第一版以来,情况就是如此。
于 2013-07-08T17:18:28.530 回答
0
void main()
不违法。这是非标准的。但是,许多 C 初学者书籍在所有示例中都使用了 void main(void)。
int main()
是根据 C++ 规范对 main 的正确定义。
Bjarne Stroustrups说得很清楚:
“定义 void main() 不是,也从来不是 C++,甚至也不是 C。”
于 2013-07-08T17:12:51.113 回答