0

这行代码出现“字段未解析错误”:

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

这是我的节点类声明:

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)
   { }
}; 

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

4

3 回答 3

1

您可能需要按如下方式更改代码:

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

参考这个

于 2013-10-22T05:32:35.437 回答
1

此外,您可能想重新访问您的 pop_back fn,

   p = mTail;
   mTail = p->prev;
   mTail->next = NULL;
   delete p;
于 2013-10-22T06:03:45.367 回答
0

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

于 2013-10-22T05:19:30.173 回答