Derleyici Uyarısı (düzey 4) C4389
'equality-operator' : signed/unsigned uyumsuzluğu
Bir ==
veya !=
işlemi ve signed
unsigned
değişkenler. Bu, veri kaybına neden olabilir.
Açıklamalar
Bu uyarıyı düzeltmenin bir yolu, karşılaştırma signed
ve unsigned
türlerinde iki türden birini atamanızdır.
Örnek
Aşağıdaki örnek C4389 oluşturur:
// 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;
}