Я работаю с дважды связанными списками, и у меня возникают проблемы при попытке решить одну из многих проблем, которые я уже решил.
double linked_list::pop_back()
{
double value = tail->value;
if (size() == 1)
{
delete tail;
tail = NULL;
}
else
{
node_t * temp = tail->prev;
temp->next = nullptr;
delete tail;
tail = temp;
}
return value;
}
Я получаю сообщение об ошибке: tail
равно nullptr
но это не должно быть, так как моя push_back()
функция работает правильно.
void linked_list::push_back(double value) {
node_t * n = new node_t(value);
n->value = value;
if (head == nullptr) {
head = n;
}
if (tail != nullptr) {
tail->next = n;
}
n->next = nullptr;
n->prev = tail;
tail = n;
}
Я получаю ошибку:
![image](https://i.stack.imgur.com/Jmln2.png)
Для записи я начал head
и tail
в0 при создании структуры.