如何解决生成operator =赋值和复制构造函数的VC ++ 2012错误?

时间:2013-08-29 23:15:39

标签: c++ visual-c++ unique-ptr

我上课了。它有unique_ptr。

的成员
struct A
{
    std::unique_ptr<int> m;
};

以下陈述应该有效

A a;
A b;
a = std::move(b);
std::swap(a, b);

但是,VC ++ 2012在编译代码时存在错误。除了使用R-Value参数手动生成自己的复制构造函数和赋值运算符之外,还有什么简单的方法可以解决这个问题吗?自动生成(例如通过宏)很好。

1 个答案:

答案 0 :(得分:2)

不,除了宏之外,没有其他简单的方法可以解决这个问题。