链接列表中的节点未解析字段

时间:2013-10-22 04:55:23

标签: c++ list linked-list nodes

我用这行代码得到了“字段未解决错误”:

template <class Object>
void FHlist<Object>::pop_back()
{
   Node *p;

   // safer, but a little slower with this test
   if ( mSize == 0 )
      return;

   p = mTail->prev;
   mTail->prev = p->prev;  // ERROR IS HERE
   mTail->prev->next = mTail;
   delete p;
   mSize--;
}

这是我的Node类声明:

template <class Object>
class FHlist<Object>::Node
{
public: 
   Node *prev, *next;
   Object data;

   Node( const Object & d = Object(), Node *prv = NULL, Node *nxt = NULL )
      : prev(prv), next(nxt), data(d)
   { }
}; 

为什么我会收到此错误,我将如何解决?

3 个答案:

答案 0 :(得分:1)

您可能需要更改代码,如下所示:

template <class Object>
class FHlist<Object>::Node
{
    public: 
       Node<Object> *prev, *next;
}; 

参考this

答案 1 :(得分:1)

另外,您可能想要重新访问pop_back fn,

   p = mTail;
   mTail = p->prev;
   mTail->next = NULL;
   delete p;

答案 2 :(得分:0)

我认为错误发生在上一行。 什么是mTail? -edit-如何将其添加为评论?