次の方法で共有


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;
    }
}

参照

関連項目

switch ステートメント (C++)

switch ステートメント (c)