c++ - 为什么,如果 c++ 标准说语法不正确,g++ 允许吗?

标签 c++ standards

我刚读到一条评论,上面说了类似的话:

“您永远不应该使用 void main(),您应该始终使用 int main()。”

现在我知道使用 int main() 的原因(这样你就可以在返回时检查是否成功等等)但我不知道使用 void main() 是非法的。我做了一些调查,我发现不使用 void main() 的唯一原因是因为“标准是这样说的”。

我的问题是: 为什么,如果 C++ 标准规定 main 必须返回一个值,那么 g++ 是否允许程序员使用 void main() 作为有效语法?它不应该返回错误/警告,因为它违反了标准所说的吗?

最佳答案

这仅意味着您的编译器的特定版本 可能允许它,但更高版本(可能更符合标准)可能不允许它。所以最好从一开始就编写符合标准的代码!

关于c++ - 为什么,如果 c++ 标准说语法不正确,g++ 允许吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5464397/

相关文章:

c++ - OOP 未在此范围内声明

c++ - STL Map 是否自动初始化值?

c++ - 可以将 std::numeric_limits<T> 专门用于用户定义的类数类吗?

javascript - ie8_getElementById()

c++ - 比较具有不同符号的整数

c++ - 如何使用智能指针替换 char*?

c++ - 将 GNU 汇编程序编译到 Windows

javascript - Angular 和语义标记/关注点分离

css - 关于在 CSS url() 中使用数据 URI 的有效性的说明

javascript - 为什么 ''(空字符串)会渗透所有字符串?