비동기 호출에서 사용하고 문자열 x를 함수에 전달하는 많은 정적 함수가 있습니다.
std::future<void> f1 = std::async(std::launch::async, f001, x);
std::future<void> f2 = std::async(std::launch::async, f002, x);
std::future<void> f3 = std::async(std::launch::async, f003, x);
그리고 나서 get on each를 호출합니다.
f1.get(); f2.get(); f3.get();
내가 10 가지 기능을 가지고 있고 같은 모습을 반복적으로한다고 생각한다면.
함수 포인터 목록을 만들려고 시도하고 다음과 같이 위의 함수를 호출했습니다.
std::vector<void (*) (std::string)> funs;
funs.push_back(foo1);
funs.push_back(foo2);
funs.push_back(foo3);
std::vector<std::future<void>> tasks
for(auto& t : temp ){
task.push_back(std::async(std::launch::async, t, x);)
}
for(auto task : tasks){
task.get();
}
하지만 삭제 기능과 같은 오류가 발생합니다.
이 작업을 수행하는 더 좋은 방법이 있습니까?
감사
참고로 작업을 수행해야합니다.
for(auto& task : tasks){
task.get();
}
future(const future&) = delete;
오류 메시지에서 관련 내용을 보았어야 합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다