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_;
};