Я застрял в деструкторе связанного списка для моего класса. Вот что у меня здесь:
LinkedList::~LinkedList()
{
LinkedList *forward = nullptr;
LinkedList *current = this;
//iterate through list, deleting each element as we go
while (current != nullptr)
{
//set next pointer to current's next
forward = current->next;
delete current; //delete the current memory
current = forward; //reset current to next's pointer
}
}
Когда я запускаю его, я получаю ошибку сегмента. Я хочу удалить только один узел из моего связанного списка. Это возможно? Кроме того, мне не дали указатель «head», как я привык из других списков, поэтому вместо этого я использовал «this», это работает?
Aka -. cpp находит место в связанном списке для удаления, реорганизует следующие указатели вокруг него, а затем удаляет узел (который вызывает этот деструктор)
(когда Я запускаю свою программу с пустым деструктором, она печатается нормально, но, конечно, есть утечки памяти)
Любая помощь приветствуется!