Advertencia del compilador (nivel 4, desactivado) C4388
"token": no coinciden signed/unsigned
El uso del operador token para comparar un número signed
y un número unsigned
mayor requería que el compilador convirtiera el valor signed
en el tipo unsigned
mayor.
Comentarios
Una manera de corregir esta advertencia es convertir uno de los dos tipos al comparar los tipos signed
y unsigned
mayor.
De forma predeterminada, esta advertencia está desactivada. Puede usar /Wall o /w44388
para habilitarla en la línea de comandos como advertencia de nivel 4. O bien, use #pragma warning(default:4388)
en el archivo de origen. Para más información, consulte Advertencias del compilador desactivadas de manera predeterminada.
Ejemplo
Este ejemplo genera la advertencia C4388 y muestra cómo corregirla:
// 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;
}
Consulte también
Advertencia del compilador (nivel 3) C4018
Advertencia del compilador (nivel 4) C4389