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

时间:2015-06-01 09:37:58

标签: c++ multithreading promise

我对C ++多线程很陌生,我试图处理一个承诺的向量,但是当我在main的末尾做这件事时:

  for (promise<bool> pr : vect){
        pr.get_future().get();
    }

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

1 个答案:

答案 0 :(得分:6)

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

for (promise<bool>& pr : vect) { ... }