我的C++代码有简单(我想)的问题。每次我初始化的unique_ptr通过构造我得到了同样的问题:通过构造函数初始化C++ unique_ptr
munmap_chunk():无效的指针:0x00007ffc40ba6bf0
下面的代码:
1)的私处该类:
template<typename T>
class Node{
typedef std::unique_ptr<Node> ptr;
T value;
ptr left, right;
2)构造函数初始化ptr left和ptr right:
explicit Node(const T value, Node* left = nullptr, Node* right = nullptr):
value{value}, left{left}, right{right} {}
这里有什么问题?感谢您的澄清或指引我朝着正确的方向发展。
应该可能是'显式节点(const T值,ptr left = nullptr,ptr right = nullptr):value {value},left {std :: move(left)},right {std :: move(正确)} {}'。 – Jarod42
这段代码没有问题,虽然传入原始指针并不理想。实际的问题必须在别的地方;我怀疑你是在释放这些指针。 –
@ Jarod42'move'对原始指针没有任何作用。 –