"const char *" 类型的参数与 "char *" 类型的参数不兼容
Argument of type "const char *" is incompatible with parameter of type "char *"
我正在尝试加入 "ip-api.com/json/" 并声明为 char "ip_address"
但是 "ip-api.com/json/" 带有红色下划线并表示:
argument of type "const char *" is incompatible with parameter of type "char *"
如何做到?
TCHAR path[_MAX_PATH];
_tcscpy(path, ip_address);
_tcscat("ip-api.com/json/", ip_address);
在本次通话中
_tcscat("ip-api.com/json/", ip_address);
您正在尝试修改字符串文字。
C++ 中的字符串文字具有常量字符数组类型。因此转换为指针后,它们的类型为 const char *
.
您不能更改字符串文字。任何更改字符串文字的尝试都会导致未定义的行为。
此外,您必须保留足够大的内存,以便将 ip_address
指向的字符串追加到字符数组中的另一个字符串。
例如
char address[_MAX_PATH] = "ip-api.com/json/";
_tcscat( address, ip_address);
我正在尝试加入 "ip-api.com/json/" 并声明为 char "ip_address" 但是 "ip-api.com/json/" 带有红色下划线并表示:
argument of type "const char *" is incompatible with parameter of type "char *"
如何做到?
TCHAR path[_MAX_PATH];
_tcscpy(path, ip_address);
_tcscat("ip-api.com/json/", ip_address);
在本次通话中
_tcscat("ip-api.com/json/", ip_address);
您正在尝试修改字符串文字。
C++ 中的字符串文字具有常量字符数组类型。因此转换为指针后,它们的类型为 const char *
.
您不能更改字符串文字。任何更改字符串文字的尝试都会导致未定义的行为。
此外,您必须保留足够大的内存,以便将 ip_address
指向的字符串追加到字符数组中的另一个字符串。
例如
char address[_MAX_PATH] = "ip-api.com/json/";
_tcscat( address, ip_address);