Bagikan melalui


Compiler Warning (level 4) C4389

'equality-operator' : ketidakcocokan yang ditandatangani/tidak ditandatangani

Operasi == atau != yang terlibat signed dan unsigned variabel. Ini dapat mengakibatkan hilangnya data.

Keterangan

Salah satu cara untuk memperbaiki peringatan ini adalah jika Anda melemparkan salah satu dari dua jenis saat Anda membandingkan signed dan unsigned jenis.

Contoh

Sampel berikut menghasilkan 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;
}

Lihat juga

Compiler Warning C4018
Compiler Warning (Level 4) C4388