C++ 顺序迭代器c++;

C++ 顺序迭代器c++;,c++,iterator,binary-search-tree,C++,Iterator,Binary Search Tree,我正在尝试为二叉搜索树实现一个迭代器。我被要求不要在迭代器中使用任何STL。我只需要重写操作符:++、操作符*和=。我发现运算符*出错:“没有*运算符与此操作数匹配。操作数类型为*迭代器”。我正在使用一个模板库,所以我不知道为什么它不起作用 这是我的密码: 模板 类迭代器:public std::iteratorcurrent=root; } 模板 接线员=(迭代器常量和其他)常量 { 返回此->当前!=other.current; } 模板 T&运算符*()常数{ 返回当前->元素; } 迭代

我正在尝试为二叉搜索树实现一个迭代器。我被要求不要在迭代器中使用任何STL。我只需要重写操作符:
++
操作符*
=。我发现
运算符*
出错:“没有
*运算符
与此操作数匹配。操作数类型为
*迭代器
”。我正在使用一个模板库,所以我不知道为什么它不起作用

这是我的密码:

模板
类迭代器:public std::iteratorcurrent=root;
}
模板
接线员=(迭代器常量和其他)常量
{
返回此->当前!=other.current;
}
模板
T&运算符*()常数{
返回当前->元素;
}
迭代器运算符++()
{
当前=当前->下一个订单();
归还*这个;
}
迭代器运算符++(int-dummy)
{
TreeNode温度=电流;
当前=当前->下一个订单();
返回*温度;
}
私人:
TreeNode*电流;
void nextInorder()
{
如果(当前->元素==NULL)返回;
否则{
下一个订单(当前->左);
下一个订单(当前->元素);
下一个订单(当前->右侧);
}
}
};

代码粘贴不好(请参见
类迭代器…
行)。
我建议删除
bool操作符上的
template
=(迭代器常量和其他)常量
T&运算符*()常量
方法。因为
T
是用于类实例化的代码。

代码粘贴得不好(请参见
类迭代器…
行)。 我建议删除
bool操作符上的
template
=(迭代器常量和其他)常量
T&运算符*()常量
方法。因为
T
是用于类实例化的