Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ “如何修复错误”;无法转换<;括号括起初始化器列表>;“到节点”;_C++ - Fatal编程技术网

C++ “如何修复错误”;无法转换<;括号括起初始化器列表>;“到节点”;

C++ “如何修复错误”;无法转换<;括号括起初始化器列表>;“到节点”;,c++,C++,我正在尝试创建struct节点的数组。有人知道如何在类散列中声明构造函数来创建节点的数组吗。在我的代码中有一个错误,表示无法将转换为节点: template <typename E, size_t N=7> class Hashing : public Container<E> { struct Node { E value; Node *next; Node (E value) : value (value), n

我正在尝试创建struct
节点的数组
。有人知道如何在类
散列中声明构造函数来创建
节点的数组吗。在我的代码中有一个错误,表示无法将
转换为
节点

template <typename E, size_t N=7>
class Hashing : public Container<E> {
    struct Node {
        E value;
        Node *next;
        Node (E value) : value (value), next(nullptr) {}
        E getValue() { return value; }
        void putValue(E value) { this->value = value; }
        Node *getNext() { return next; }
    };

    size_t nmax;
    size_t n;
    Node * values;
    Node field[N] = {};

public:
    Hashing(): n(N) {};
模板
类哈希:公共容器{
结构节点{
E值;
节点*下一步;
节点(E值):值(value),下一个(nullptr){
E getValue(){return value;}
无效putValue(E值){this->value=value;}
Node*getNext(){return next;}
};
最大尺寸;
尺寸;
节点*值;
节点字段[N]={};
公众:
散列():n(n){};

问题是您的
节点
类不是默认可构造的

Node field[N] = { };
它尝试默认构造数组中的每个元素。由于您有一个用户定义的构造函数,编译器提供的默认构造函数将被抑制。如果您添加一个类似的构造函数

Node(): value(0), next(nullptr) {}

代码将被编译。

无法看到实例化类。应该在哪里发生错误?