Compartir a través de


C6259

Actualización: noviembre 2007

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

The switch Statement

The C switch Statement