C6259C6259

Advertencia C6259: código con la etiqueta no es accesible: (<expresión > & <constante >) en la expresión switch no se puede evaluar para <etiqueta case >warning C6259: labeled code is unreachable: (<expression> & <constant>) in switch-expr cannot evaluate to <case-label>

Esta advertencia indica que existe código inalcanzable producido por el resultado de un bit a bit- y (&) comparación en una expresión switch.This warning indicates unreachable code caused by the result of a bitwise-AND (&) comparison in a switch expression. La instrucción case que coincida con la constante de la expresión switch solo es accesible; todas las demás instrucciones case no son accesibles.The case statement that matches the constant in the switch expression is only reachable; all other case statements are not reachable.

EjemploExample

El código de ejemplo siguiente genera esta advertencia porque la expresión switch``(rand() & 3) no se evalúan como etiqueta 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 corregir esta advertencia, quite el código inalcanzable o compruebe que la constante que se utiliza en la instrucción case es correcta.To correct this warning, remove the unreachable code or verify that the constant used in the case statement is correct. El siguiente código quita la instrucción case inalcanzable:The following code removes the unreachable case statement:

#include <stdlib.h>

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

Vea tambiénSee Also

Cambie la instrucción) (C++) switch (instrucción)switch Statement (C++) switch Statement