не рекомендуется преобразовывать строковую константу в код char

Возможный дубликат:
Прекращение преобразования C ++ из строковой константы в char *

Я получаю сообщение об «устаревшем преобразовании из строковой константы в« char * »» на компиляторе gcc в 3 местах.

Когда я компилировал его в кодовый блок, там не было никакой ошибки.

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;
}

Ты хоть представляешь, как я могу это исправить? Если так, пожалуйста, запишите это ясно (я новичок …).

2

Решение

Вам нужно добавить const квалификатор для объявления переменной и функции, чтобы исправить это:

const char* decodeCode(const char* encodedString) {
....
const char* a = encodedString;
....
}

Примечание: нижняя часть вашей функции отсутствует, но убедитесь, что вы не возвращаете store не копируя это.

5

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector