Compiler Warning (level 4) C4130
'operator' : logical operation on address of string constant
Using the operator with the address of a string literal produces unexpected code.
The following sample generates C4130:
// C4130.cpp
// compile with: /W4
int main()
{
char *pc;
pc = "Hello";
if (pc == "Hello") // C4130
{
}
}
The if
statement compares the value stored in the pointer pc
to the address of the string "Hello", which is allocated separately each time the string occurs in code. The if
statement does not compare the string pointed to by pc
with the string "Hello".
To compare strings, use the strcmp
function.