【发布时间】:2021-02-08 09:57:50
【问题描述】:
考虑以下代码:
#include <vector>
#include <future>
using namespace std;
void someFunction(){
//do something
}
int main() {
vector<future<void>> tasks1;
tasks1.emplace_back(async(launch::async, someFunction));
vector<future<void>> tasks2{ async(launch::async, someFunction) }; //doesn't compile
vector<future<void>> tasks3{ move(async(launch::async, someFunction)) }; //doesn't compile
}
为什么 task2 和 task3 不能编译?我会假设在 tasks3 中调用了移动构造函数,但事实并非如此。
【问题讨论】:
标签: c++ asynchronous vector future