Compartir a través de


C6259

advertencia C6259: No se puede alcanzar el código etiquetado: (<expresión> y <constante>) no se puede evaluar en <etiqueta case> en una expresión switch

Esta advertencia indica que existe código inalcanzable producido por el resultado de una comparación de AND bit a bit (&) en una expresión switch.Sólo es alcanzable la instrucción Case correspondiente a la constante de la expresión switch; todas las demás instrucciones Case no lo son.

Ejemplo

El código de ejemplo siguiente genera esta advertencia porque la expresión switch(rand() & 3) no se puede evaluar como etiqueta case (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 utilizada en la instrucción Case es correcto.El código siguiente quita la instrucción Case inalcanzable:

#include <stdlib.h>

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

Vea también

Referencia

instrucción switch (C++)

instrucción switch (c)