GCC的在线文档声称它支持枚举器属性:
GCC允许在枚举器上设置属性.
然后它给出了使用这些属性的代码示例:
enum E {
oldval __attribute__((deprecated)),
newval
};
int
fn (void)
{
return oldval;
}
Run Code Online (Sandbox Code Playgroud)
但是当我在我的GCC(4.8.4)上尝试它时,我收到一个错误:
t.c:2:15: error: expected ‘,’ or ‘}’ before ‘__attribute__’
oldval __attribute__((deprecated)),
^
Run Code Online (Sandbox Code Playgroud)
我需要在某个地方启用它们吗?或者使用不同的GCC?
请注意,Clang也声称支持这个C扩展,但是使用Clang它可以正常工作.