Compilerwarnung (Ebene 4) C4389
"Gleichheitsoperator" : signiert/nicht signierte Nichtübereinstimmung
An ==
oder !=
Operation beteiligt signed
und unsigned
Variablen. Dies kann zu einem Datenverlust führen.
Hinweise
Eine Möglichkeit, diese Warnung zu beheben, ist, wenn Sie einen der beiden Typen beim Vergleichen und unsigned
Typen umwandelnsigned
.
Beispiel
Im folgenden Beispiel wird C4389 generiert:
// 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;
}
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für