我第一次使用链表,必须创建一个可以在双向链表末尾插入节点的函数。到目前为止我有
void LinkedList::insertAtTail(const value_type& entry) {
Node *newNode = new Node(entry, NULL, tail);
tail->next = newNode;
tail = newNode;
++node_count;
}
Node 类接受要存储的值、要指向的下一个指针的值以及按该顺序指向的前一个指针的值。每当我尝试在此处插入节点时,都会收到一条错误消息,提示存在未处理的异常,并且在写入位置 0x00000008 时存在访问冲突。
我不完全确定这里出了什么问题,但我认为这与根据错误消息取消引用空指针有关。我真的很感激解决这个问题的一些帮助。
编辑:
我应该早点澄清,tail 是指向列表中最后一个节点的指针。Tail->next 访问最后一个节点的下一个变量,在函数运行之前,它指向 NULL,但在它执行之后应该指向创建的新节点。