编译器警告(等级 4)C4130
“operator”:字符串常量地址的逻辑操作
使用具有字符串文本地址的运算符会产生意外的代码。
下面的示例生成 C4130:
// C4130.cpp
// compile with: /W4
int main()
{
char *pc;
pc = "Hello";
if (pc == "Hello") // C4130
{
}
}
if
语句会将指针 pc
中存储的值与字符串“Hello”的地址进行比较,每次代码中出现该字符串时,都将单独分配该值。 if
语句不会将 pc
所指向的字符串与字符串“Hello”进行比较。
若要比较字符串,请使用 strcmp
函数。