Compartilhar via


C6259

Aviso C6259: O código rotulado é inacessível: (<expressão> & <constante>) em switch-expr não pode avaliar para <rótulo em maiúscula/minúscula>

Esse aviso indica o código inacessível causado pelo resultado de bit a bit AND (por comparação de&) em uma expressão da opção.A instrução de casos que corresponde a constante na expressão de opção só é possível acessá-lo; todas as instruções de casos restantes não são atingíveis.

Exemplo

O código de exemplo a seguir gerenciar esse aviso porque a expressão switch(rand() & 3) não pode avaliar para o caso o rótulo (case 4):

#include <stdlib.h>

void f()
{
     switch (rand () & 3) {
        case 3:
            /* Reachable */
            break;
        case 4:
            /* Not reachable */
            break;
        default:
            break;
    }
}

Para corrigir esse aviso, remova o código inacessível ou verifique se a constante usada na instrução de casos está correta.O código a seguir remove a instrução case inacessível:

#include <stdlib.h>

void f()
{
     switch (rand () & 3) {
        case 3:
            /* Reachable */
            break;
        default:
            break;
    }
}

Consulte também

Referência

Instrução switch (C++)

Instrução switch (C)