Aracılığıyla paylaş


Derleyici Uyarısı (düzey 4, kapalı) C4388

'token' : imzalı/imzasız uyuşmazlık

Belirteç işlecini kullanarak bir signed ve daha büyük unsigned bir sayıyı karşılaştırmak için derleyicinin signed değeri daha büyük unsigned bir türe dönüştürmesi gerekiyordu.

Açıklamalar

Bu uyarıyı düzeltmenin bir yolu, ve daha büyük unsigned türleri karşılaştırırken signed iki türden birini atamanızdır.

Bu uyarı varsayılan olarak kapalıdır. /Wall'ı kullanabilir veya /w44388 komut satırında düzey 4 uyarısı olarak etkinleştirebilirsiniz. Veya kaynak dosyanızda kullanın #pragma warning(default:4388) . Daha fazla bilgi için bkz . Varsayılan olarak kapalı olan derleyici uyarıları.

Örnek

Bu örnek C4388 oluşturur ve nasıl düzeltileceğini gösterir:

// 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;
}

Ayrıca bkz.

Derleyici Uyarısı (Düzey 3) C4018
Derleyici Uyarısı (Düzey 4) C4389