Advertencia C6259
El código etiquetado no es accesible: ('expression' & 'constant') en switch-expr no se puede evaluar como 'case-label'
Comentarios
Esta advertencia indica un código inaccesible causado por el resultado de una comparación AND bit a bit (&
) en una expresión switch. Solo se puede acceder a la instrucción case que coincide con la constante de la expresión switch; No se puede acceder a todas las demás instrucciones case.
Nombre del análisis de código: DEADCODEINBITORLIMITEDSWITCH
Ejemplo
El código de ejemplo siguiente genera esta advertencia porque la expresión (rand() & 3)
"switch" no se puede evaluar como etiqueta de mayúsculas y minúsculas (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 inaccesible o compruebe que la constante usada en la instrucción de mayúsculas y minúsculas es correcta. El código siguiente quita la instrucción de mayúsculas y minúsculas inaccesible:
#include <stdlib.h>
void f()
{
switch (rand () & 3) {
case 3:
/* Reachable */
break;
default:
break;
}
}
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de