경고 C6259
레이블이 지정된 코드에 연결할 수 없습니다. switch-expr의 ('expression' 및 'constant')는 'case-label'으로 평가할 수 없습니다.
설명
이 경고는 스위치 식의 비트 AND(&
) 비교 결과로 인해 연결할 수 없는 코드를 나타냅니다. switch 식의 상수와 일치하는 case 문만 연결할 수 있습니다. 다른 모든 사례 문에 연결할 수 없습니다.
코드 분석 이름: DEADCODEINBITORLIMITEDSWITCH
예시
다음 샘플 코드에서는 'switch' 식 (rand() & 3)
이 대/소문자 레이블(case 4
)로 계산할 수 없으므로 이 경고를 생성합니다.
#include <stdlib.h>
void f()
{
switch (rand () & 3) {
case 3:
/* Reachable */
break;
case 4:
/* Not reachable */
break;
default:
break;
}
}
이 경고를 수정하려면 연결할 수 없는 코드를 제거하거나 사례 문에 사용된 상수가 올바른지 확인합니다. 다음 코드는 연결할 수 없는 사례 문을 제거합니다.
#include <stdlib.h>
void f()
{
switch (rand () & 3) {
case 3:
/* Reachable */
break;
default:
break;
}
}
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기