-1
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;
}

有人可以指出这段代码有什么问题吗?我正在制作一个带有类的链接列表。我真的很感激

4

1 回答 1

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;
}
于 2013-02-11T11:03:54.100 回答