Freigeben über


Compilerwarnung (Ebene 4) C4130

"Operator": Logische Operation mit Adresse einer Zeichenfolgenkonstanten

Bemerkungen

Das Verwenden des Operators mit der Adresse eines Zeichenfolgenliterals erzeugt unerwarteten Code.

Example

Im folgenden Beispiel wird C4130 generiert:

// C4130.cpp
// compile with: /W4
int main()
{
   char *pc;
   pc = "Hello";
   if (pc == "Hello") // C4130
   {
   }
}

Die if Anweisung vergleicht den im Zeiger pc gespeicherten Wert mit der Adresse der Zeichenfolge "Hello", die jedes Mal separat zugeordnet wird, wenn die Zeichenfolge im Code auftritt. Die if Anweisung vergleicht die Zeichenfolge, auf pc die mit der Zeichenfolge "Hello" verwiesen wird, nicht.

Verwenden Sie zum Vergleichen von Zeichenfolgen die strcmp -Funktion.