我试图将std::future
作为参数传递给std::async
,如下所示:
#include <iostream>
#include <future>
int t1Entry()
{
return 1;
}
int t2Entry(std::future<int> f1)
{
return f1.get();
}
int main()
{
auto f1 = std::async(std::launch::async, t1Entry);
auto f2 = std::async(std::launch::async, t2Entry, std::move(f1));
std::cout << f2.get();
return 1;
}
我收到以下编译错误:
错误C2280:&#39; std :: future :: future(const std :: future&amp;)&#39; :尝试引用已删除的函数
我正在使用VC ++ 12.0 Update 4.
似乎编译器从发送到第二个rvalue-reference
的未来删除std::async
。
是有什么我做错了吗?或者它只是编译器中的一个错误?
由于