case 标签的值不可超出 switch 条件表达式的取值范围
9.5.3 ID_switch_caseOutOfRange
如果 case 标签的值超出了 switch 条件表达式的取值范围,会导致相应分枝永远不会被执行。
示例:
void foo(char c)
{
switch (c)
{
case 100: // Compliant
....
break;
case 256: // Non-compliant, unreachable branch
....
break;
}
}
例中变量 c 的值不可能为 256,所以 case 256 对应的分枝永远不会被执行。