- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
to Node"-6ren"> to Node"-我正在尝试创建结构数组 node .有人知道如何在类 hashing 中声明构造函数吗?创建一个 node 的数组.在我的代码中有一个错误提示无法转换 至 Node : template class-6ren">
我正在尝试创建结构数组 node
.有人知道如何在类 hashing
中声明构造函数吗?创建一个 node
的数组.在我的代码中有一个错误提示无法转换 <brace enclosed initializer list>
至 Node
:
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) {};
最佳答案
问题是您的 Node
类不是默认可构造的。当你做的时候
Node field[N] = { };
它尝试默认构造数组中的每个元素。由于您有一个用户定义的构造函数,因此抑制了编译器提供的默认构造函数。如果你添加一个喜欢
Node(): value(0), next(nullptr) {}
代码将编译。
关于c++ - 如何修复错误 "could not convert <brace enclose initilizer list> to Node",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37253383/
我正在尝试创建结构数组 node .有人知道如何在类 hashing 中声明构造函数吗?创建一个 node 的数组.在我的代码中有一个错误提示无法转换 至 Node : template class
根据 Eigen (C++) 库的文档,默认矩阵是列优先的。如此有效,一个小的 3x3 矩阵将类似于 1 4 7 2 5 8 3 6 9 然后它得到了comma initializer,前端看起来是行
框架:.net 4.5 我使用下面的示例代码模式以线程安全的方式初始化变量。最近我一直在阅读一些文章,其中解释了“双重检查锁定在某些平台上已被破坏 http://www.cs.umd.edu/~pug
我需要帮助来理解为什么 lint 会因为 struct 初始化而在下面的代码上提示。代码运行没有任何问题,或者至少没有任何已知问题 struct MsgKey_t { int type;
我是一名优秀的程序员,十分优秀!