boost :: bind和qtconcurrent :: map ...似乎无法使它工作

时间:2013-01-17 09:42:30

标签: c++ qt boost boost-bind qtconcurrent

我需要你的协助,因为我似乎无法找到一种方法

QtConcurrent::map与我合作 静态函数和我的元素序列。 这是我正在尝试做的事情:

我想运行此功能:

static void meta_engine_recursive(Node* node,OutputNode* output,Row *row);

在这组元素上:

QList<Row*> tasks;

这是我对map的调用所做的,但是编译器不喜欢它...即使在阅读了所有的boost&amp; amp;之后我也找不到正确的语法。 Qt文档!

QFuture<void> future= QtConcurrent::map(tasks,
                            boost::bind(&VideoEngine::meta_engine_recursive,
                            boost::ref(dynamic_cast<Node*>(input)),
                            boost::ref(output),_1)(row));

Ps:显然这是C ++

另外,请不要介意boost :: ref电话,我只是在玩它。我想要解决的是使用好参数调用map

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

没关系我没有做正确的括号,最后的额外(行)没有必要。 这是最后的电话:

QFuture<void> future= QtConcurrent::map(tasks,
                                            boost::bind(&VideoEngine::meta_engine_recursive,
                                                        dynamic_cast<Node*>(input),
                                                        output,_1));