다음을 통해 공유


컴파일러 경고(수준 4) C4389

'equality-operator': 부호 있는/서명되지 않은 불일치

==!= 관련된 signed 작업 및 unsigned 변수입니다. 이로 인해 데이터가 손실될 수 있습니다.

설명

이 경고를 해결하는 한 가지 방법은 비교 및 unsigned 형식을 비교할 signed 때 두 형식 중 하나를 캐스팅하는 것입니다.

예시

다음 샘플에서는 C4389를 생성합니다.

// C4389.cpp
// compile with: cl /EHsc /W4 C4389.cpp

int main()
{
   int a = 9;
   unsigned int b = 10;
   int result = 0;

   if (a == b)   // C4389
      result = 1;
   else
      result = 2;

   if (unsigned(a) == b) // OK
      result = 3;
   else
      result = 4;

   return result;
}

참고 항목

컴파일러 경고 C4018
컴파일러 경고(수준 4) C4388