Aviso do compilador (nível 4) C4130
'operator': operação lógica em endereço de constante de cadeia de caracteres
Usar o operador com o endereço de um literal de cadeia de caracteres produz código inesperado.
O seguinte exemplo gera o erro C4130:
// C4130.cpp
// compile with: /W4
int main()
{
char *pc;
pc = "Hello";
if (pc == "Hello") // C4130
{
}
}
A instrução if
compara o valor armazenado no ponteiro pc
com o endereço da cadeia de caracteres "Hello", que é alocada separadamente sempre que a cadeia de caracteres ocorre no código. A instrução if
não compara a cadeia de caracteres apontada por pc
com a cadeia de caracteres "Hello".
Para comparar cadeias de caracteres, use a função strcmp
.