영어로 읽기

다음을 통해 공유


경고 C6316

잘못된 연산자: 테스트된 식은 상수이고 0이 아닙니다. 비트 사용 및 비트 설정 여부 확인

설명

이 경고는 비트 및 (|)를 사용해야 하는 경우 비트 또는 (&)의 사용을 나타냅니다. 비트 또는 결과 식에 비트를 추가하는 반면 비트는 두 연산자 간에 공통된 비트만 선택합니다. 플래그에 대한 테스트는 비트 및 같음 테스트를 사용하여 수행해야 합니다.

코드 분석 이름: INAPPROPRIATEUSEOFBITOR

예시

다음 코드는 이 경고를 생성합니다.

#define INPUT_VALUE 2
void f( int Flags)
{
  if (Flags | INPUT_VALUE) // warning
  {
    // code
  }
}

이 경고를 수정하려면 다음 코드를 사용합니다.

#define ALLOWED 1
#define INPUT_VALUE 2

void f( int Flags)
{
  if ((Flags & INPUT_VALUE) == ALLOWED)
  {
    // code
  }
}