GCC:是否可以在使用 -pedantic 时禁用 "comma at end of enumerator list"警告?

标签 gcc enums

我正在编译 C++ 代码,我想启用 -pedantic 选项。
我正在使用 GCC 4.0,在 Mac OS X Leopard 上运行 Xcode。
例如,可以允许可变参数宏和 long long使用 -pedantic 时通常禁止的类型(使用 -Wno-variadic-macros 和 -Wno-long-long)。
但是我找不到任何可以禁用“枚举列表末尾的逗号”警告的内容。
是否可以?

谢谢。

最佳答案

枚举数末尾的逗号在 C99 中有效,但在 C89 中无效,因此如果您的代码是有效的 C99,以下内容将起作用

gcc -std=c99 -pedantic foo.c

我相当确定它在 C++ 中根本无效(根据 g++)

编辑:在 HP-UX 上使用 GCC 4.2.1 对此进行了测试,并且没有错误/警告
foo.c
int main(int argc, char** argv) {
    enum { A, B, };
    return 0;
}


gcc -std=c99 -pedantic foo.c

关于GCC:是否可以在使用 -pedantic 时禁用 "comma at end of enumerator list"警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1002462/

相关文章:

c - 为什么 GCC 的 __attribute__((__ms_abi__)) 返回值与 MSVC 不同?

rust - 通过数值作为类型标识符的 serde 反序列化 json

c++ - #define inside an enum 或如何扩展枚举

c# - Nullable<T> 如何使用它的基础值类型扩展方法

c++ - Lambda 与手动内联代码更改 GCC 的优化器行为

c++ - gcc 链接共享库有效,但同一共享库的 dlopen 失败

c++ - 回车作为以c++文件结尾的行

c++ - g++ 中用于检查数组索引的任何调试标志

python - 如何扩展 Python 枚举?

java - 如何使用 JPQL 测试 Enum 值是否在 EnumSet 中