未设置默认值的 c++ 构造函数



我有一个链表的构造函数,如下所示:

node_t(double value, node_t * next = nullptr, node_t * prev = nullptr);

但是当我创建新node_t时,这似乎并没有设置 nullptr 的下一个和上一个。

node_t(double d, node_t * n = nullptr, node_t * p = nullptr)
{
val = d;
next = n;
prev = p;
}

但是,这有效, 但我不明白为什么第一种方法不起作用

这只是一个函数的规范:

node_t(double value, node_t * next = nullptr, node_t * prev = nullptr);

初始化类变量的构造函数应如下所示:

node_t(double d, node_t * n = nullptr, node_t * p = nullptr)
: val (d), 
next (n), 
prev (p) 
{}

最新更新