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;
}
}