可能重复:
C++不推荐将字符串常量转换为'char*'
我在3个地方的gcc编译器上得到"从字符串常量到'char*'的不推荐的转换"错误.
当我在codeblock上编译时,没有错误.
char* decodeCode(char* encodedString)
{
const char* decodedString = ""; // ERROR
char* a = encodedString;
char store[10000];
for(int j=0;j <strlen(a);j++)
{
if (isdigit(a[j]) || a[j] == '#')
continue;
else return ""; //ERROR
}
}
int main()
{
const char* a;
a = decodeCode("6999066263304447777077766622337778"); // ERROR
printf("%s",a);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
你知道我怎么解决它吗?如果是这样,请清楚地写下来(我是新手......).
您需要const在变量的声明和修复此函数的函数中添加限定符:
const char* decodeCode(const char* encodedString) {
....
const char* a = encodedString;
....
}
Run Code Online (Sandbox Code Playgroud)
store不复制的情况下不返回.