我用这行代码得到了“字段未解决错误”:
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)
{ }
};
为什么我会收到此错误,我将如何解决?
答案 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-如何将其添加为评论?