'equality-operator' : 帶正負號/不帶正負號不符
備註
==涉及或 != 作業signed和unsigned變數。 這可能會導致數據遺失。
修正此警告的其中一個方法是,當您比較 signed 和 unsigned 類型時,將其中一個類型轉換成其中一種。
範例
下列範例會產生 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;
}