【发布时间】:2020-01-26 22:10:24
【问题描述】:
我有以下 BinaryTree 类,其中包括一个名为 Node 的私有类(我省略了除此问题所需的所有内容):
template<typename T>
class BinaryTree{
private:
template<typename NT>
class Node{
public:
Node<NT>* left;
Node<NT>* right;
NT item;
};
public:
Node<T> Find(T itemToFind);
};
这是相当标准的。我正在尝试实现返回Node 对象的Node FindMax() 函数,但我无法弄清楚如何定义它。例如,我(错误地)假设这样就足够了:
template<typename T>
Node<T> BinaryTree<T>::Find(T itemToFind){ // -------> error line
//...do something....
}
但我收到一条错误消息:No template named Node。我尝试了各种其他组合都无济于事。我不想返回 bool 如果找到,我想返回 Node 本身。
【问题讨论】:
标签: c++ templates binary-search-tree