C6259C6259

Aviso C6259: código rotulado é inacessível: (<expressão > & <constante >) no comutador expr não é possível avaliar a <rótulo de caso >warning C6259: labeled code is unreachable: (<expression> & <constant>) in switch-expr cannot evaluate to <case-label>

Esse aviso indica causado pelo resultado de um bit a bit de código inacessível- e (&) comparação em uma expressão de switch.This warning indicates unreachable code caused by the result of a bitwise-AND (&) comparison in a switch expression. A instrução case que corresponda a constante na expressão de switch só está acessível; todas as outras instruções casos não estão acessíveis.The case statement that matches the constant in the switch expression is only reachable; all other case statements are not reachable.

ExemploExample

O código de exemplo a seguir gera este aviso porque a expressão switch``(rand() & 3) não é possível avaliar a rótulo case (case 4):The following sample code generates this warning because the expression switch``(rand() & 3) cannot evaluate to case label (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 se a constante usada na instrução case está correta.To correct this warning, remove the unreachable code or verify that the constant used in the case statement is correct. O código a seguir remove a instrução case inacessível:The following code removes the unreachable case statement:

#include <stdlib.h>

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

Consulte tambémSee Also

Instrução switch (C++) instrução switchswitch Statement (C++) switch Statement