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