Partage via


Avertissement du compilateur (niveau 4, désactivé) C4388

'token' : incompatibilité signée/non signée

L’utilisation de l’opérateur de jeton pour comparer un signed nombre et un plus grand unsigned nombre requis par le compilateur pour convertir la signed valeur en type plus grand unsigned .

Notes

Une façon de corriger cet avertissement est si vous cassez l’un des deux types lorsque vous comparez signed et des types plus volumineux unsigned .

Cet avertissement est désactivé par défaut. Vous pouvez utiliser /Wall ou /w44388 l’activer sur la ligne de commande en tant qu’avertissement de niveau 4. Vous pouvez également l’utiliser #pragma warning(default:4388) dans votre fichier source. Pour plus d’informations, consultez les avertissements du compilateur désactivés par défaut.

Exemple

Cet exemple génère l’erreur C4388 et montre comment la corriger :

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

Voir aussi

Avertissement du compilateur (niveau 3) C4018
Avertissement du compilateur (niveau 4) C4389