Полагаю, ваша проблема в том, что вы обращаетесь к указателю после его удаления.Поэтому вам необходимо отслеживать, какие указатели указывают на действительные объекты, а какие на мертвые.
Существует несколько способов более или менее автоматического решения таких проблем.
Популярным может бытьиспользуя какие-то умные указатели, например, shared_ptr
.Это гарантирует, что объект не будет удален, если на него все еще есть ссылки.
Другой подход - установить иерархию: заставить каждого родителя контролировать время жизни своих потомков.Это означает, что (1) дочерние элементы должны быть удалены в деструкторе родителя, и (2) никто, кроме родителя, не должен хранить указатель на дочернего элемента (по крайней мере, в течение длительного времени).
Покадругим популярным подходом будет использование сборки мусора, но я бы не рекомендовал его в неуправляемых средах.