GCC:使用-pedantic时是否可以禁用"枚举器列表末尾的逗号"警告?

Gui*_*ume 9 enums gcc

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

谢谢.

Gle*_*len 4

枚举数末尾的逗号在 C99 中有效,但在 C89 中无效,因此只要您的代码是有效的 C99,以下内容就可以工作

gcc -std=c99 -pedantic foo.c
Run Code Online (Sandbox Code Playgroud)

我相当确定它在 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
Run Code Online (Sandbox Code Playgroud)

  • 如果它是 .c 文件,则 GCC 使用 C 编译器。如果它是 .cc 或 .cpp 文件,GCC 使用 C++ 编译器。您的代码不是合法的 C++,因此会出现错误。 (3认同)