Compartir vía


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