Compartir vía


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