Share via


Upozornění kompilátoru (úroveň 4, vypnuto) C4388

Token : Neshoda se znaménky nebo nepřiřazenými znaménkami

Použití operátoru tokenu k porovnání signed a většího unsigned čísla vyžadovalo kompilátor k převodu signed hodnoty na větší unsigned typ.

Poznámky

Jedním ze způsobů, jak toto upozornění vyřešit, je přetypování jednoho z těchto dvou typů při porovnávání signed a větších unsigned typech.

Toto upozornění je ve výchozím nastavení vypnuté. Můžete použít /Wall nebo /w44388 ji povolit na příkazovém řádku jako upozornění úrovně 4. Nebo použijte #pragma warning(default:4388) ve zdrojovém souboru. Další informace najdete v tématu Upozornění kompilátoru, která jsou ve výchozím nastavení vypnutá.

Příklad

Tato ukázka vygeneruje C4388 a ukazuje, jak ji opravit:

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

Viz také

Upozornění kompilátoru (úroveň 3) C4018
Upozornění kompilátoru (úroveň 4) C4389