c++ - 尝试使用函数填充线程 vector - 错误

标签 c++ multithreading

我正在尝试填充 vector 线程;具有遍历目录的函数,但我遇到了问题

这是我的:

//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){}

最佳答案

大概你是想说类似的话

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

甚至更好:

threads.emplace_back(grep, arguments, r);

关于c++ - 尝试使用函数填充线程 vector - 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11994439/

相关文章:

c++ - 控制台写入,删除字符

c++ - 了解快速排序期间的递归

c++ - 过多的链接/库会如何影响编译期间的可执行输出?

c# - 当原始类超出范围时线程会发生什么

java - 对于大致相同时间 : multiple Handlers with single Runnable each, 的指令或具有多个 Runnable 的单个 Handler 来说,哪个更好?

android - 如何使用 Indy HTTP Get 命令正确终止线程?

c++ - c++ 中有多少种方法可以逐个字符地读取字符串以对每个字符执行所需的操作?

c++ - 表达式 std::enable_if 中的 type* 是什么

c++ - 使用 C++ 实现线程

multithreading - Qt:使用线程构造widgets