C ++如何通过无参数构造函数初始化结构

时间:2017-02-24 18:12:33

标签: c++

Node是一个 struct ,它在 List_set private中定义。

struct List_set::Node
{
    element_t  str_l;
    link_t next_ptr ;
    static link_t* find(link_t* current, element_t string_t);
    Node();
};
List_set::List_set():link_(nullptr)
{}
List_set::Node::Node():next_ptr{0}
{}

我想使用构造函数初始化Node,但编译器总是报告错误:

没有用于初始化'list_set :: List_set :: Node'的匹配构造函数

你能帮忙解决一下吗?

接下来是List_set类的定义希望它能提供一些参考。

class List_set
{
public:
    using element_t = std::string;
    List_set();
    List_set(std::initializer_list<element_t>);
    bool is_empty() const;
    size_t size() const;
    bool contains(const element_t&) const;
    void insert(element_t);
private:
    struct Node;
    using link_t = std::shared_ptr<Node>;
    link_t link_;
};

0 个答案:

没有答案