问问题
414 次
1 回答
3
在 valgrind 中发现错误:
std::enable_if<std::__and_<std::is_move_constructible<A*>, std::is_move_assignable<A*> >::value, void>::type std::swap<A*>(A*&, A*&)
为什么我会收到此错误?
你显示的不是错误。它是一个函数声明。
我已经实现了移动运算符
您尚未实现移动赋值运算符。
附言
- 您尚未定义移动构造函数。
- 您定义了一个未声明的构造函数:
A::A(TPixel &&)
。这可能是相关的。
- 您定义了一个未声明的构造函数:
- 复制赋值运算符
- 泄漏内存。
- 让两个对象都指向同一个数组。
- 如果对象已被复制分配并且副本已被销毁,则析构函数具有未定义的行为。
于 2019-03-11T20:14:30.943 回答