可能重复:
C++ deprecated conversion from string constant to ‘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;
}
你知道我怎么解决它吗?如果是这样,请清楚地写下来(我是新手......)。
答案 0 :(得分:5)
您需要将const
限定符添加到变量的声明和修复此函数的函数中:
const char* decodeCode(const char* encodedString) {
....
const char* a = encodedString;
....
}
<小时/> 注意:您的函数底部缺失,但请确保在未复制的情况下不返回
store
。