将std :: future传递给std :: async

时间:2016-03-06 06:47:44

标签: c++ c++11 asynchronous future

我试图将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
是有什么我做错了吗?或者它只是编译器中的一个错误?

由于

0 个答案:

没有答案