C++ 没有匹配的构造函数用于初始化';listNode结构

C++ 没有匹配的构造函数用于初始化';listNode结构,c++,struct,initialization,initializer-list,C++,Struct,Initialization,Initializer List,下面的insert方法使用struct listNode的构造函数 void list::insert(size_t i){ if (head == nullptr){ head = new listNode(nullptr,i); tail = head; ++len; } listNode* new_node = new listNode(nullptr,i); tail->next = new_node;

下面的insert方法使用struct listNode的构造函数

void list::insert(size_t i){
    if (head == nullptr){
        head = new listNode(nullptr,i);
        tail = head;
        ++len;
    }
    listNode* new_node = new listNode(nullptr,i);
    tail->next = new_node;
    tail = new_node;
}
listNode的定义

struct listNode{
        ////@: index into the input buffer
        listNode* next;
        size_t index;
};
除了在这篇文章的标题中给出的错误,我还得到了注释

 note: candidate constructor (the implicit copy constructor) not
      viable: requires 1 argument, but 2 were provided
struct listNode{
这对我来说毫无意义。很明显,我在初始化中提供了两个参数,它应该使用参数到实际参数的字典形式绑定

head = new listNode(nullptr,i);
错误,因为
listNode
没有任何用户定义的构造函数。因此,您不能使用语法
listNode(nullptr,i)
来构造一个

使用

同样地

listNode* new_node = new listNode(nullptr, i);
使用

错误,因为
listNode
没有任何用户定义的构造函数。因此,您不能使用语法
listNode(nullptr,i)
来构造一个

使用

同样地

listNode* new_node = new listNode(nullptr, i);
使用


“我不清楚你想在那里实现什么。”很抱歉,代码中出现了一个拼写错误fixed@DrawkcabEsrever,明白了。“我不清楚你想在那里实现什么。”很抱歉,代码中出现了一个拼写错误fixed@DrawkcabEsrever,明白了。
listNode* new_node = new listNode{nullptr, i};