Рассмотрим следующий фрагмент кода:
void List::insertFront(int key)
{
Node *tmp_node = new Node;
tmp_node->key = key;
tmp_node->next = head->next;
tmp_node->prev = head;
head->next = tmp_node;
_size++;
}
Эта функция добавляет элемент в начало списка, и я хочу перехватить первый элемент списка в другой функции и удалить его. Для этого я написал следующий фрагмент кода:
bool List::getFront(int &key)
{
if (head->next->key == key)
{
Node *tmp_node = new Node;
head->next = tmp_node->next;
delete tmp_node;
delete head->next;
_size--;
return true;
}
else return false;
}
Как вы можете видеть каждый раз, когда я создаю новый узел, который использует свежий пустой список, но я хочу использовать список, созданный в предыдущей функции.
Как я могу передать узел с insertFront()
на getFront()
?