class MoveOnlyOperation
{
public:
MoveOnlyOperation() = default;
MoveOnlyOperation(const MoveOnlyOperation&) = delete;
MoveOnlyOperation(MoveOnlyOperation&&) = default;
int operator()()
{
return 0;
}
};
我想在 packaged_task 中包装一个对象实例,如下所示:
std::packaged_task<void()> task(MoveOnlyOperation{});
我收到“错误 C2280: 'MoveOnlyOperation::MoveOnlyOperation(const MoveOnlyOperation &)': 试图引用已删除的函数”
C++ 11 的文档说,尽管可以完美地转发 packaged_task 中的实例。我也没有clang的问题。
它定义了一些关于如何实现 packaged_task 的实现或 VS 2015 中的错误(可能稍后因为我遇到与http://rextester.com/WBEH22233相同的问题)