ки,
так что я получил кое-какую сложную программу, которая имитирует системы студентов, единиц и студентов, зачисляемых в единицы.
Студенты хранятся в бинарном дереве поиска,
Единицы хранятся в стандартном списке.
У ученика есть список указателей юнитов, в котором можно записать, в каких юнитах он зарегистрирован
Подразделение имеет список указателей учеников, в которых хранятся ученики, зачисленные в это подразделение.
Наборы единиц (сохраняющие единицы в списке) в виде статической переменной, в которой находится основная функция, как и дерево двоичного поиска учащихся.
когда заканчивается время закрытия программы, я вызываю деструкторы каждого. но на каком-то этапе, во время деструкторов на стороне подразделения,
Необработанное исключение в 0x002e4200 в ClassAllocation.exe: 0xC0000005: Местоположение чтения нарушения доступа 0x00000000.
Деструктор UnitCollection:
UnitCol::~UnitCol()
{
list<Unit>::iterator itr;
for(itr = UnitCollection.begin(); itr != UnitCollection.end();)
{
UnitCollection.pop_front();
itr = UnitCollection.begin();
}
}
Деструктор юнита
Unit::~Unit()
{
}
теперь у меня та же проблема сорта на стороне студента
BST деструкторы
void StudentCol::Destructor(const BTreeNode * r)
{
if(r!= 0)
{
Destructor(r->getLChild());
Destructor(r->getRChild());
delete r;
}
}
StudentCol::~StudentCol()
{
Destructor(root);
}
Студенческий деструктор
Student::~Student()
{
}
так что да, любая помощь будет принята с благодарностью