Advertencia del compilador (nivel 3) C4018
"token": no coinciden signed/unsigned
El uso del operador token para comparar un número signed
y un número unsigned
requería que el compilador convirtiera el valor signed
en unsigned
.
Comentarios
Una manera de corregir esta advertencia es convertir uno de los dos tipos al comparar los tipos signed
y unsigned
.
Ejemplo
Este ejemplo genera la advertencia C4018 y muestra cómo corregirla:
// 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;
}
Consulte también
Advertencia del compilador (nivel 4) C4388
Advertencia del compilador (nivel 4) C4389