C6259
Ostrzeżenie C6259: jest nieosiągalny, oznaczonych kodem: (<expression> & <constant>) w wyrażenie switch nie można ocenić < przypadku Etykieta >
To ostrzeżenie wskazuje nieosiągalny kod spowodowane w wyniku operatory- I (&) porównanie w wyrażeniu przełącznika.Sprawa instrukcję, która pasuje do stałej w wyrażeniu przełącznik jest tylko osiągalne; wszystkie instrukcje sprawa nie są osiągalne.
Przykład
Następujący przykładowy kod generuje to ostrzeżenie, ponieważ wyrażenie switch(rand() & 3) nie można ocenić na etykiecie sprawa (case 4):
#include <stdlib.h>
void f()
{
switch (rand () & 3) {
case 3:
/* Reachable */
break;
case 4:
/* Not reachable */
break;
default:
break;
}
}
Aby poprawić to ostrzeżenie, należy usunąć nieosiągalny kod lub sprawdź stałą, w przypadku instrukcji używany jest poprawny.Następujący kod usuwa nieosiągalny sprawa instrukcji:
#include <stdlib.h>
void f()
{
switch (rand () & 3) {
case 3:
/* Reachable */
break;
default:
break;
}
}