Partilhar via


Aviso do compilador (nível de aviso 4, desativado) C4388

'token' : incompatibilidade assinada/não assinada

Observações

Usar o operador token para comparar um signed e um número maior unsigned exigia que o compilador convertesse o valor signed para o tipo maior unsigned.

Uma maneira de corrigir este aviso é ao converter um dos dois tipos quando se comparam signed e tipos maiores unsigned.

Este aviso está desativado por padrão. Você pode usar /Wall ou /w44388 ativá-lo na linha de comando como um aviso de nível 4. Ou, use #pragma warning(default:4388) em seu arquivo de origem. Para obter mais informações, consulte Avisos do compilador que estão desativados por padrão.

Example

Este exemplo gera C4388 e mostra como corrigi-lo:

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

Aviso do compilador (Nível 3) C4018
Aviso do compilador (Nível 4) C4389