Delen via


Compilerwaarschuwing (niveau 4) C4389

'equality-operator': ondertekende/niet-ondertekende mismatch

Opmerkingen

Een == of != bewerking betrokken signed en unsigned variabelen. Dit kan leiden tot gegevensverlies.

Een manier om deze waarschuwing op te lossen is als u een van de twee typen cast wanneer u signed en unsigned typen vergelijkt.

Example

In het volgende voorbeeld wordt C4389 gegenereerd:

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

Zie ook

Compilerwaarschuwing C4018
Compilerwaarschuwing (niveau 4) C4388