跳过导航链接 | |
退出打印视图 | |
Oracle Solaris Studio 12.3:C++ 用户指南 Oracle Solaris Studio 12.3 Information Library (简体中文) |
因为 enum 声明并不引入作用域,所以 enum 名称不能作为作用域限定符来使用。例如,以下代码是无效的。
enum E {e1, e2, e3}; int i = E::e1; // invalid: E is not a scope name
要编译该无效代码,请使用 -features=extensions 选项。-features=extensions 选项指示编译器在作用域限定符是 enum 类型的名称时忽略该作用域限定符。
要使代码有效,请删除无效的限定符 E::。
注 - 使用该选项提高了排字错误的可能性,产生了编译没有错误消息的错误程序。