Compartilhar via


C6259

Aviso C6259: código rotulado é inalcançável: (<expression> & <constant>) no switch expr não é possível avaliar < case-rótulo >

Este aviso indica código inacessível causado pelo resultado do bit a bit- E (&) comparação em uma expressão de switch. A instrução case que coincida com a constante na expressão switch só é alcançável; todas as instruções de casos não estão acessíveis.

Exemplo

O exemplo de código a seguir gera este aviso porque a expressão switch (rand() & 3) não pode ser avaliada como um rótulo case (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, remover o código inacessível ou se a constante utilizada na instrução case 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

The switch Statement

The C switch Statement