C6259
警告 C6259: ラベル付きのコードには到達できません: switch-expr の (<式gt; & <定数>) は <case ラベル> に評価されません
この警告は、スイッチ式内のビットごとの AND (&) 比較の結果によって到達不可能なコードを示します。スイッチ式の定数を一致させる case ステートメントのみが到達可能であり、他のすべての case ステートメントは到達不可能です。
使用例
次のサンプル コードでは、式 switch(rand() & 3) を case ラベル (case 4) に評価できないため、この警告が発生します。
#include <stdlib.h>
void f()
{
switch (rand () & 3) {
case 3:
/* Reachable */
break;
case 4:
/* Not reachable */
break;
default:
break;
}
}
この警告を解決するには、到達不可能なコードを削除するか、case ステートメントで使用される定数が正しいことを確認します。次のコードは、到達不可能な case ステートメントを削除しています。
#include <stdlib.h>
void f()
{
switch (rand () & 3) {
case 3:
/* Reachable */
break;
default:
break;
}
}