Upozornění kompilátoru (úroveň 4) C4130
'operator' : logická operace na adrese řetězcové konstanty
Použití operátoru s adresou řetězcového literálu vytvoří neočekávaný kód.
Následující ukázka vygeneruje C4130:
// C4130.cpp
// compile with: /W4
int main()
{
char *pc;
pc = "Hello";
if (pc == "Hello") // C4130
{
}
}
Příkaz if
porovnává hodnotu uloženou v ukazateli pc
na adresu řetězce "Hello", který je přidělen samostatně při každém výskytu řetězce v kódu. Příkaz if
nerovná řetězec, na který odkazuje, s řetězcem pc
"Hello".
K porovnání řetězců použijte strcmp
funkci.