Compartir a través de


Advertencia del compilador (nivel 3) C4018

"token": no coinciden signed/unsigned

Comentarios

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.

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 corregirlo:

// 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