Udostępnij za pośrednictwem


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

Zobacz też

Informacje

Przełącznik instrukcji (C++)

Przełącz instrukcji (C)