【发布时间】:2018-01-07 17:26:09
【问题描述】:
我目前正在使用模板类型的节点,当我将这些节点与普通类的数据进行比较时遇到了问题。不匹配的 2 种数据类型是行 root->data = item; root 是 Node<string> *TreeParser::root,其中 item 是 const Node <string> &。在查看两个类都是类型模板的先前工作时,这是可行的。但是,当我将类更改为非模板类型时,此代码不再起作用。如何在不将我的类更改为类型模板的情况下让这两种不同类型的数据相互通信。这是我的示例代码:
template <typename T>
struct Node {
T data;
Node* lLink;
Node* rLink;
};
class TreeParser{
public:
void insert(const Node<string>& item);
private:
Node<string>* root{ nullptr };
};
void TreeParser::insert(const Node<string>& item){
if (root == nullptr){
root = new Node<string>();
root->data = item;
return;
}
else
//do something
}
【问题讨论】: