编译器警告(级别 4,关闭)C4061
枚举器“identifier”在
enum
“enumeration”的开关中没有被case
标签显式处理
指定的枚举器标识符在具有 default
事例的 switch
语句中没有关联的处理程序。 缺少的情况可能是监督,也可能不是问题。 在实践中,缺少 case
是否是个问题取决于默认用例是否处理枚举器。 有关具有 default
事例的 switch
语句中未使用的枚举器的相关警告,请参阅 C4062。
默认情况下,此警告处于关闭状态。 有关如何启用默认关闭的警告的详细信息,请参阅默认关闭的编译器警告。
示例
以下示例生成 C4061;为缺少的枚举器添加一个要修复的情况:
// C4061.cpp
// compile with: /W4
#pragma warning(default : 4061)
enum E { a, b, c };
void func ( E e )
{
switch(e)
{
case a:
case b:
default:
break;
} // C4061 c' not handled
}