在C++中迭代一个promise的向量

Seb*_*a92 -4 c++ multithreading promise

我是C++多线程的新手,我正在尝试处理一个承诺的向量,但当我在main结束时做这件事:

  for (promise<bool> pr : vect){
        pr.get_future().get();
    }
Run Code Online (Sandbox Code Playgroud)

编译器给我一个错误.我应该如何迭代这个向量?

Jon*_*ter 6

std::promise是不可复制的,你的基于范围的是试图制作矢量成员的副本.在以这种方式迭代时,您需要使用引用:

for (promise<bool>& pr : vect) { ... }
Run Code Online (Sandbox Code Playgroud)