我正在编译C ++代码,我想启用-pedantic选项
我正在使用GCC 4.0,在Mac OS X Leopard上运行Xcode
例如,可以允许使用-pedantic(带-Wno-variadic-macros和-Wno-long-long)时通常禁止的可变宏和long long
类型。
但我找不到任何禁用“枚举器列表末尾的逗号”警告的内容。
有可能吗?
感谢。
答案 0 :(得分:4)
枚举器末尾的逗号在C99中有效但在C89中无效,因此如果您的代码有效,则以下内容将有效
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
答案 1 :(得分:2)
在C ++中,即使它在C ++ 11中合法,也无法禁用它。 所以在将来,当GCC得到纠正时,-std = c ++ 11应该禁用它。
-std = c99仅适用于C,而不适用于C ++(如问题所示)。