0

我开始的一个 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) {}
4

1 回答 1

0

好吧,您应该引用的实例node而不是类本身。另外,请记住,这head是您示例中的指针。

尝试这样的事情:

list(const TYPE &init) : head(new node(init)) {}
于 2017-07-30T16:03:02.190 回答