У меня странное поведение моей программы, которое я не могу понять. Мой профессор показал мне недостаток в моей программе, когда я просто копирую указатель на символ при создании объекта, а не делаю новую копию всего массива, так что вы можете дурачиться с ним. Он продемонстрировал это с помощью похожего кода.
Для кода:
char sweat[] ="Sweater";
warenkorb = new WareImKorb(new Textil (205366,4.2,sweat,40),2,warenkorb);
sweat[0] = '\0';
Теперь, если я вместо этого сделаю это:
char* sweat ="Sweater";
программа работает нормально, пока я не попробую пот [0] = '\ 0';
Тогда он просто ломается.
Однако это работает:
char cc [] = "Свитер";
char * sweat = cc;
Меня действительно беспокоит то, что я не понимаю, почему не работает версия 1.
Надеюсь, вы, ребята, сможете мне помочь, иначе я сойду с ума, задаваясь вопросом об этом.