다음을 통해 공유


C6259

업데이트: 2007년 11월

C6259

경고 C6259: 레이블이 있는 코드에 접근할 수 없습니다. switch-expr의 (<expression> & <constant>)은(는) <case-label>(으)로 평가되지 않습니다.

이 경고는 switch 식에서 비트 AND(&) 비교의 결과로 인해 코드에 접근할 수 없음을 나타냅니다. switch 식의 상수와 일치하는 case 문에만 접근할 수 있고 다른 모든 case 식에는 접근할 수 없습니다.

예제

다음 샘플 코드에서는 switch(rand() & 3) 식이 case 레이블(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