Поделиться через


C6259

Обновлен: Ноябрь 2007

C6259

Предупреждение C6259. Маркированный код недоступен: (<выражение> & <константа>) в выражении выбора вариантов не может оценить до <метка case>

Данное предупреждение указывает, что в результате сравнения с помощью оператора побитового И (&) в выражении switch код оказался недоступным. В выражении switch доступен только оператор case, который соответствует константе выражения; все остальные операторы case недоступны.

Пример

В следующем коде создается данное предупреждение из-за невозможности выражения switch(rand() & 3) перейти к оператору case с меткой 4:

#include <stdlib.h>

void f()
{
     switch (rand () & 3) {
        case 3:
            /* Reachable */
            break;
        case 4:
            /* Not reachable */
            break;
        default:
            break;
    }
}

Чтобы устранить данное предупреждение, удалите недоступный код или убедитесь в правильности константы, используемой в операторе case. В следующем коде удаляется недоступный оператор case:

#include <stdlib.h>

void f()
{
     switch (rand () & 3) {
        case 3:
            /* Reachable */
            break;
        default:
            break;
    }
}

См. также

Ссылки

The switch Statement

The C switch Statement