Cześć forumowicze.
Mam pewien olbrzymi problem przy czyszczeniu pamięci.
Wywala mi błąd Exception thrown: read access violation, którego mimo, że wiem co oznacza nie potrafię wyśledzić.
Poniżej wstawiam zdjęcia z błędu, pierwsze pokazuje gdzie program się zatrzymuje, drugi "Call Stack", natomiast trzeci przedstawia dekonstruktor obiektu klasy którą chcę usunąć. Dekonstruktor usuwa level, z którego pochodzi screen nr. 1 (obie pętle wykonują się poprawnie, błąd wywala po nich), do p_1 (player) nawet nie dochodzi.



Nawet jeśli nie chce Wam się śledzić działania programu i czytać kod, proszę chociaż o jakiekolwiek wskazówki jak mogę namierzyć gdzie problem występuje.
Bardzo proszę o pomoc, gdyż zjadłem na tym już sporo nerwów dzisiaj i nie umiem sobie z tym poradzić.
Link do repozytorium tutaj
Problem pojawia się w klasie game(.cpp) podczas usuwania obiektu klasy map_level
// Quae nocent, docent