-2

或者这是 C++ 不支持 C 的事情之一?

4

3 回答 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。”

http://www.stroustrup.com/bs_faq2.html#void-main

于 2013-07-08T17:12:51.113 回答