다음을 통해 공유


컴파일러 경고(수준 4, 해제) C4388

'token': signed/unsigned mismatch

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

설명

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

기본적으로 이 경고는 해제되어 있습니다. /Wall을 사용하거나 /w44388 명령줄에서 수준 4 경고로 사용하도록 설정할 수 있습니다. 또는 원본 파일에서 사용합니다 #pragma warning(default:4388) . 자세한 내용은 기본적으로 꺼져 있는 컴파일러 경고를 참조하세요.

예시

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

// C4388.cpp
// compile with: cl /EHsc /W4 C4388.cpp
#pragma warning(default: 4388)

int main() {
    unsigned long long uc = 0;
    int c = 0;
    unsigned long long c2 = c; // implicit conversion

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

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

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

참고 항목

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