template <class T>
void List<T>::insertAtHead(T item)
{
ListItem<T> *node=new ListItem<T>(item);
ListItem<T> *temp;
temp=head;
head=node;
head->next=temp;
temp->prev=head;
}
有人可以指出这段代码有什么问题吗?我正在制作一个带有类的链表。我真的很感激
答案 0 :(得分:1)
你可能从head == NULL
开始。尝试检查空指针:
template <class T>
void List<T>::insertAtHead(T item)
{
ListItem<T> *node=new ListItem<T>(item);
ListItem<T> *temp;
temp=head;
head=node;
head->next=temp;
if (temp)
temp->prev=head;
}