【发布时间】:2012-06-10 13:58:13
【问题描述】:
我的目标是创建一个包含不同类型节点的链表。为此,我创建了一个节点类模板如下:
template <class T>
class N_Node
{
public:
N_Node(T e, N_Node *p = nullptr ,N_Node *n = nullptr);
void set_previous(N_Node<T> *p);
void set_next(N_Node<T> *n);
N_Node get_previous();
N_Node get_next();
T element;
N_Node *prev;
N_Node *next;
};
现在,在 main.cpp 中,当我尝试执行以下操作时,它给了我一个错误,提示 N_Node<int>* 类型的参数与 N_Node<char>* 类型的参数不兼容。所以,我想知道是否有任何方法可以指定设置为前一个的节点可以是与当前节点不同的类型?
N_Node<int> n1(5);
N_Node<char> n3('g');
n3.set_previous(&n1);
【问题讨论】:
-
抱歉,哪一部分需要修复?
-
@nave 查看当前版本(特别是 Griwes 的更改)并将其与您的原始版本进行比较。要比较版本,您可以点击帖子下方的“已编辑 X 秒/分钟前”链接,位于您的用户名旁边。
-
好的,我明白了。感谢您的更改..他们使问题更清晰
标签: c++ templates linked-list