неверное преобразование из 'const char *' в 'char * [- fpermissive] (может быть проблема с многомерным массивом, не уверен) - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь написать код, который удаляет слово в массиве строк.

это весь мой код

int cancella(char v[],int nv,char ele,char vt[]){  int i,j;
  for(i=0;i<nv;i++){
    if (strcmp(v[i],ele))!=0;{
     strcpy(vt[j],v[i]);j++
    }
Return j;
}
}

int main()
{
 char a[DIM][L]={"pane","pizza","pasta","cafe","panino","kebab","patatine"};
 char aT[DIM][L];
 int naT,na=7;
 char elem={"kebab"};
 nat= cacella(a,naT,elem,aT);
 cout<<nat;

}

Как исправить ошибку

invalid conversion from 'const char*' to 'char*' [-fpermissive]

(может быть проблема с многомерным массивом, не уверен)

at:

if (strcmp (v [i], ele))! = 0; {

1 Ответ

0 голосов
/ 07 декабря 2018

Есть много проблем с этим кодом.

  • Неверный косвенный уровень во многих местах (например, char ele вместо char *ele).
  • Переменные, используемые до инициализации(например, naT; вместо этого должно быть na).
  • Неправильный отступ и форматирование.

Некоторые предложения

  • Только записьпо несколько строк за раз и убедитесь, что он компилируется.
  • Внимательно прочитайте сообщение об ошибке.Если вы этого не понимаете, обратитесь к справке вашего компилятора.
  • Обычно проще сначала исправить ошибку вверху.
  • Поскольку некоторые ошибки зависят от предыдущих ошибок, выполните компиляцию после исправления некоторых ошибок.
  • Будьте осторожны с пунктуацией.Компилятор заботится о неуместных скобках или точках с запятой.
  • Прочтите еще раз заметки к курсу или найдите хорошую книгу по C ++.
...