Partager via


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