Witajcie.
Od jakiegoś czasu uczę się programować w c++. Mam pewien nurtujący mnie problem, którego za nic nie mogę rozwiązać i potrzebuję wytłumaczenia. Jak to jest, że to działa:
vector <int> vec;
int *x = new int;
*x=0;
vec.push_back(*x);
delete x;
Natomiast to już nie:
vector <Postac> postacie;
Postac *postac = new Postac;
postacie.push_back(*postac);
delete postac;
Niby się kompiluje ale program przestaje działać w momencie użycia delete postac;
Wrzuczam jeszcze caly kod gdyby to w klasach leżał problem:
http://wklej.org/hash/c19501402c7/
Z góry dzięki za wyrozumiałość i ewentualne odpowiedzi ;)
@Edit:
Skoro już zdecydowałem się na absorbowanie Waszego czasu to od razu zapytam.
Jaki jest najlepszy sposób aby bez wycieku pamięci tworzyć dynamicznie obiekty, dodawać je do wektora, a następnie usuwać wraz ze zwolnieniem pamięci?