Partilhar via


Aviso do compilador (nível 3) C4018

'token' : incompatibilidade assinada/não assinada

Observações

Usar o operador de token para comparar signed e unsigned números exigia que o compilador convertesse o signed valor em unsigned.

Uma maneira de corrigir esse aviso é se você lançar um dos dois tipos quando você comparar signed e unsigned tipos.

Example

Este exemplo gera C4018 e mostra como corrigi-lo:

// 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 também

Aviso do compilador (Nível 4) C4388
Aviso do compilador (Nível 4) C4389