C++ 顺序迭代器c++;
我正在尝试为二叉搜索树实现一个迭代器。我被要求不要在迭代器中使用任何STL。我只需要重写操作符:C++ 顺序迭代器c++;,c++,iterator,binary-search-tree,C++,Iterator,Binary Search Tree,我正在尝试为二叉搜索树实现一个迭代器。我被要求不要在迭代器中使用任何STL。我只需要重写操作符:++、操作符*和=。我发现运算符*出错:“没有*运算符与此操作数匹配。操作数类型为*迭代器”。我正在使用一个模板库,所以我不知道为什么它不起作用 这是我的密码: 模板 类迭代器:public std::iteratorcurrent=root; } 模板 接线员=(迭代器常量和其他)常量 { 返回此->当前!=other.current; } 模板 T&运算符*()常数{ 返回当前->元素; } 迭代
++
、操作符*
和=代码>。我发现运算符*
出错:“没有*运算符
与此操作数匹配。操作数类型为*迭代器
”。我正在使用一个模板库,所以我不知道为什么它不起作用
这是我的密码:
模板
类迭代器:public std::iteratorcurrent=root;
}
模板
接线员=(迭代器常量和其他)常量
{
返回此->当前!=other.current;
}
模板
T&运算符*()常数{
返回当前->元素;
}
迭代器运算符++()
{
当前=当前->下一个订单();
归还*这个;
}
迭代器运算符++(int-dummy)
{
TreeNode温度=电流;
当前=当前->下一个订单();
返回*温度;
}
私人:
TreeNode*电流;
void nextInorder()
{
如果(当前->元素==NULL)返回;
否则{
下一个订单(当前->左);
下一个订单(当前->元素);
下一个订单(当前->右侧);
}
}
};
代码粘贴不好(请参见类迭代器…
行)。
我建议删除bool操作符上的template
=(迭代器常量和其他)常量
和T&运算符*()常量
方法。因为T
是用于类实例化的代码。代码粘贴得不好(请参见类迭代器…
行)。
我建议删除bool操作符上的template
=(迭代器常量和其他)常量
和T&运算符*()常量
方法。因为T
是用于类实例化的