Megosztás a következőn keresztül:


Fordító figyelmeztetése (4. szint) C4389

"egyenlőség-operátor": aláírt/aláíratlan típuseltérés

Megjegyzések

Egy == vagy != művelet signed és unsigned változókat foglal magában. Ez adatvesztést okozhat.

Az egyik módja a figyelmeztetés kijavításának, ha az egyik típust a kettő közül átalakítjuk, amikor összehasonlítjuk a signed és unsigned típusokat.

Example

Az alábbi példa c4389-et hoz létre:

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

Lásd még

Fordító figyelmeztetés C4018
Fordító figyelmeztetés (4. szint) C4388