Программа аварийно завершает работу при попытке установить символ массива символов.C++

Программы на C++. Форум разработчиков
Anonymous
Программа аварийно завершает работу при попытке установить символ массива символов.

Сообщение Anonymous »


Моя программа ведет себя странно, и я не могу этого понять. Мой профессор показал мне недостаток в моей программе, где я просто копирую указатель на символ при создании объекта вместо того, чтобы создавать новую копию всего массива, так что вы можете с ним пошалить. Он продемонстрировал это с помощью подобного кода.

Для кода:

char Sweat[] ="Свитер"; warenkorb = new WareImKorb(new Textil (205366,4.2,sweat,40),2,warenkorb); пот[0] = '\0'; а если я вместо этого сделаю это:

char* Sweat ="Свитер"; Программа работает нормально, пока я не попробую Sweat[0] = '\0'; Тогда он просто выходит из строя.

Однако это работает: char cc[] ="Свитер"; char* пот = копия;

Меня очень беспокоит то, что я не понимаю, почему версия 1 не работает. Надеюсь, вы, ребята, сможете мне помочь, иначе я сойду с ума, задаваясь этим вопросом.

Вернуться в «C++»