0

我有一堂课。它有一个 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 参数手动生成自己的复制构造函数和赋值运算符之外,还有什么简单的方法可以解决这个错误?自动生成(例如通过宏)很好。

4

1 回答 1

2

不,除了宏,没有其他简单的方法可以绕过这个错误。

于 2013-08-29T23:29:39.973 回答