此处部分回答了此问题“typedef void (*Something)()”是什么意思
但答案对我来说并不完全清楚。
如果我写
typedef void (*task) ();
它是如何扩展的?
thread_pool(unsigned int num_threads, task tbd) {
for(int i = 0; i < num_threads; ++i) {
the_pool.push_back(thread(tbd));
}
}
会是这个样子吗?
thread_pool(unsigned int num_threads, (*task) () tbd) {
for(int i = 0; i < num_threads; ++i) {
the_pool.push_back(thread(tbd));
}
}
可能不是,因为它是语法错误。我希望你能帮我把事情弄清楚。
代码示例来自http://www.thesaguaros.com/openmp-style-constructs-in-c11.html