我开始使用c ++项目时遇到了一些麻烦。我正在尝试实现基本链表,我的尝试包括列表类中的代理类,用于表示单个节点。其中一个列表构造函数可以获取单个参数并使用它初始化列表的第一个节点,但我无法将该参数传递给代理类'构造函数。有什么建议吗?
这是一些c ++代码
template <class TYPE>
class list{
private:
//Proxy class for node representation
class node{
private:
node* next;
TYPE data;
public:
explicit node() : next(nullptr) {}
node (const TYPE& init) : data(init) {}
inline node*& get_next(){
return next;
}
inline TYPE& get_data(){
return data;
}
};
node* head;
unsigned int size;
public:
explicit list() : head(nullptr), size(0) {}
list(const TYPE& init) : list::node(init) {}
答案 0 :(得分:0)
好吧,你应该引用node
的实例而不是类本身。另外,请记住head
是示例中的指针。
尝试这样的事情:
list(const TYPE &init) : head(new node(init)) {}