Здравствуйте Hark, вы писали:
H>Есть класс H>class aaa{} H>есть другой класс H>class bbb H>{ H> aaa* pointer; H>} H>У которого деструктор такого вида H>bbb::~bbb() H>{ H>if (pointer) H> { H> delete pointer; H> pointer=0; H> } H>}
Проверь, что pointer всегда корректно инициализируется.
H>Создаю коллекцию в третьем классе
H>class ccc H>{ H>CList<bbb, bbb&> list; H>}
H>ну и в деструкторе пишу H>ссс::~ccc() H>{ H> while (list.GetCount()>0 ) // пробовал IsEmpty H> { H> list.RemoveHead(); H> } H>}
H>так вот при вызове деструктора все ломается ( ASSERT гдето в heap)
Можно было бы и по подробнее про ASSERT.
H>но если убрать строчки H> while (list.GetCount()>0 ) // пробовал IsEmpty H> { H> list.RemoveHead(); H> } H>то все как бы работает.
H>Чувствую что что-то не так я делаю.
H>И другой вопрос (тоже по теме) H>как проверить есть ли утечка памяти в моей программе ( может утилита какая ).
BoundsChecker.
H>И что бы попроще (т.е. без переопределений операторов new и delete )