AV / Naruszenie ochrony pamięci

0

Zrobiłem mały program:
klasy.cpp:
http://pastebin.4programmers.net/4117

main.cpp:
http://pastebin.4programmers.net/4118

Problem: Przy próbie wylistowania elementów wyposażenia lub osiągów w pliku main.cpp następuje naruszenie ochrony pamięci (linuks) lub Access Violation (win). Zrobiłem małe odpluskwianie i w funkcji dodaj_element_wyposazenia() pole element klasy element_wyposazenia dostaje adres np. 0x101010, natomiast przy probie dostania się do tego pola bądź uwolnienia pamięci tego pola (przy jego destrukcji) pole to ma zupełnie inny adres i nie wskazuje już na tekst - nie wiem co się dzieje i chciałbym poprosić o sprawdzenie.

0

Problem rozwiązany + małe zmiany w kodzie. Problemem było podwójne zwalnianie przydzielonej pamięci, w destruktorze było niepotrzebne free() pola klasy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1