Upozornění kompilátoru (úroveň 3) C4018
Token : Neshoda se znaménky nebo nepřiřazenými znaménkami
Použití operátoru tokenu k porovnání signed
a unsigned
čísel vyžaduje kompilátor k převodu signed
hodnoty na unsigned
.
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 unsigned
typech.
Příklad
Tato ukázka vygeneruje C4018 a ukazuje, jak ji opravit:
// 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;
}
Viz také
Upozornění kompilátoru (úroveň 4) C4388
Upozornění kompilátoru (úroveň 4) C4389