如何解决VC++2012生成运算符=赋值和复制构造函数的错误
How to work around the VC++ 2012 bug on generating operator = assignment and copy constructor?
我有一个类。它有一个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参数手动生成自己的复制构造函数和赋值运算符之外,还有什么简单的方法可以解决这个错误吗?自动生成(例如通过宏)是可以的。
不,除了宏,没有其他简单的方法可以绕过这个错误。
相关文章:
- 复制构造函数、赋值运算符C++
- 复制包含C++所有元素的对象!(构造函数和赋值,最佳实践?
- C++ 基本 CTOR 说明 - 为什么不调用赋值/复制构造函数
- 为用户定义的类正确调用复制构造函数/赋值运算符
- CRTP 中的复制赋值运算符 - gcc vs clang 和 msvc
- C++矢量复制构造函数和赋值运算符是否也复制保留空间?
- 了解构造函数在移动、复制、赋值语义中的行为
- 如何在双向链表上实现复制赋值?
- 使用赋值运算符复制 std::vector
- 复制赋值函数如何访问另一个对象的私有成员(Stroustroup 原则和实践书)?
- 为什么基类中的复制和交换会导致派生类中的复制赋值运算符被隐式删除?
- 复制构造函数和赋值运算符的值类实现
- 在C++中,我可以在定义自己的复制构造函数后跳过定义赋值运算符吗?
- 复制和赋值构造函数的问题
- 为什么我的类工作正常,即使在返回垃圾值作为赋值运算符和空复制构造函数的返回之后
- 在c++中重载复制赋值运算符
- 按值从函数返回对象并在赋值/复制 C'tor C++ 中使用它
- 赋值复制构造函数
- 成员初始化列表vs赋值/复制构造函数(在boost deadline_timer中)
- 类使用自身/深度复制时赋值/复制操作符重载