据我了解,迭代器的结束函数应该返回 null。当我尝试返回 nullptr 时,程序崩溃了。有人可以解释 end 函数应该如何表现吗?
结尾()
LinkList::Iterator LinkList::end()
{
return tail->next;
}
Run Code Online (Sandbox Code Playgroud)
更新
这是我的 LinkList 类。另外两个嵌套在其中。
班级
class LinkList
{
public:
class Node
{
public:
Node()
{
next = prev = NULL;
}
Node(int num)
{
data = num; next = prev = NULL;
}
int data;
Node *next;
Node *prev;
};
class Iterator
{
public:
Iterator(Node* ptr);
Iterator operator ++();
int operator *();
bool operator ==(Iterator it);
bool operator !=(Iterator it);
Node *ptr;
};
public:
LinkList();
virtual ~LinkList(); …Run Code Online (Sandbox Code Playgroud)