Warnung C6289
Falscher Operator: Der gegenseitige Ausschluss
||
ist immer eine Konstante ungleich Null. Haben Sie stattdessen beabsichtigt, sie zu verwenden&&
?
Hinweise
Diese Warnung weist darauf hin, dass in einem Testausdruck eine Variable als ungleich zwei verschiedene Konstanten getestet wird. Das Ergebnis hängt davon ab, dass beide Bedingungen wahr sind, aber immer als wahr ausgewertet werden.
Dieses Problem wird häufig durch die Verwendung ||
anstelle von &&
, aber auch durch die Verwendung !=
, wo ==
beabsichtigt, verursacht werden.
Codeanalysename: MUTUALEXCLUSIONOVERORISTRUE
Beispiel
Der folgende Code generiert diese Warnung:
void f(int x)
{
if ((x != 1) || (x != 3))
{
// code
}
}
So korrigieren Sie die Warnung unter Verwendung des folgenden Codes
void f(int x)
{
if ((x != 1) && (x != 3))
{
// code
}
}
/* or */
void f(int x)
{
if ((x == 1) || (x == 3))
{
// code
}
}
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