Avertissement du compilateur (niveau 4) C4389
'equality-operator' : incompatibilité signée/non signée
Une ==
ou !=
une opération impliquée signed
et unsigned
des variables. Cela peut entraîner une perte de données.
Notes
Une façon de corriger cet avertissement est si vous cassez l’un des deux types lorsque vous comparez et unsigned
les signed
types.
Exemple
L’exemple suivant génère l’erreur C4389 :
// C4389.cpp
// compile with: cl /EHsc /W4 C4389.cpp
int main()
{
int a = 9;
unsigned int b = 10;
int result = 0;
if (a == b) // C4389
result = 1;
else
result = 2;
if (unsigned(a) == b) // OK
result = 3;
else
result = 4;
return result;
}
Voir aussi
Avertissement du compilateur C4018
Avertissement du compilateur (niveau 4) C4388