다음을 통해 공유


컴파일러 경고(수준 3) C4018

'token': signed/unsigned mismatch

토큰 연산자를 사용하여 비교 signed 하고 unsigned 숫자를 사용하려면 컴파일러가 값을 .로 변환 signed 해야 unsigned했습니다.

설명

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

예시

이 샘플에서는 C4018을 생성하고 이를 해결하는 방법을 보여 줍니다.

// C4018.cpp
// compile with: cl /EHsc /W4 C4018.cpp
int main() {
    unsigned int uc = 0;
    int c = 0;
    unsigned int c2 = c; // implicit conversion

    if (uc < c)           // C4018
        uc = 0;

    if (uc < unsigned(c)) // OK
        uc = 0;

    if (uc < c2)          // Also OK
       uc = 0;
}

참고 항목

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