Программа аварийно завершает работу при попытке установить символ массива символов. ⇐ C++
Программа аварийно завершает работу при попытке установить символ массива символов.
Моя программа ведет себя странно, и я не могу этого понять. Мой профессор показал мне недостаток в моей программе, где я просто копирую указатель на символ при создании объекта вместо того, чтобы создавать новую копию всего массива, так что вы можете с ним пошалить. Он продемонстрировал это с помощью подобного кода.
Для кода:
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 не работает. Надеюсь, вы, ребята, сможете мне помочь, иначе я сойду с ума, задаваясь этим вопросом.
Моя программа ведет себя странно, и я не могу этого понять. Мой профессор показал мне недостаток в моей программе, где я просто копирую указатель на символ при создании объекта вместо того, чтобы создавать новую копию всего массива, так что вы можете с ним пошалить. Он продемонстрировал это с помощью подобного кода.
Для кода:
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 не работает. Надеюсь, вы, ребята, сможете мне помочь, иначе я сойду с ума, задаваясь этим вопросом.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Программа JNI C++ аварийно завершает работу при вызове Rest API в цикле
Anonymous » » в форуме Linux - 0 Ответы
- 78 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему моя программа аварийно завершает работу при выполнении loss.backward()?
Anonymous » » в форуме C++ - 0 Ответы
- 43 Просмотры
-
Последнее сообщение Anonymous
-