小编Dep*_*tus的帖子

空迭代器结束函数?

据我了解,迭代器的结束函数应该返回 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)

c++ iterator

-1
推荐指数
1
解决办法
431
查看次数

标签 统计

c++ ×1

iterator ×1