我目前正在处理类型模板的节点,当我将这些节点与普通类中的数据进行比较时,我遇到了问题。不匹配的两种数据类型是线路root->data = item;
root
是Node<string> *TreeParser::root
,其中item
是const Node <string> &
。当查看以前的工作,其中两个类都是类型模板时,这是有效的。但是,当我将类更改为非模板类型时,此代码不再有效。我怎样才能让这两种不同类型的数据互相交流,而无需将我的课程改为键入模板。这里是我的示例代码:C++ - 比较模板和类之间的数据类型
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
}
谢谢你的回复,当你以这种方式浏览时,会有很大的意义。 –