尝试使用函数填充线程向量 - 错误

时间:2012-08-16 19:50:34

标签: c++ multithreading

我正在尝试填充矢量线程;使用迭代目录的函数,但我遇到了问题

这就是我所拥有的:

//create vector of threads
vector<thread> threads;

for(unsigned i=0; i < threadNum; ++i)
{
    threads.push_back(thread(grep(arguments, r))); //best c++ 11
}

这是我得到的错误:

error c2440: '<function-style-cast>': cannot conver from 'void' to std::thread

任何人都可以解释原因并且可能暗示答案吗?谢谢

修改

grep是函数名称

void grep(Arguments arguments, regex r){}

1 个答案:

答案 0 :(得分:3)

大概你的意思是说像

threads.push_back(thread(grep, arguments, r));

甚至更好:

threads.emplace_back(grep, arguments, r);