0

作る方法が見つからないようですので、よろしくお願いします。

QtConcurrent :: mapは、静的関数と要素のシーケンスで機能します。これが私がやろうとしていることです:

この関数を実行したい:

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

この要素のセットについて:

QList<Row*> tasks;

これがmapの呼び出しに対して私が行うことですが、コンパイラーはそれを好みません...すべてのboost&Qtドキュメントを読んだ後でも、正しい構文を見つけることができません!

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

追伸:明らかにこれはC++です

また、boost :: refの呼び出しを気にしないでください、私はそれで遊んでいました。私が解決したいのは、適切なパラメーターを使用してマップするための呼び出しです

ご協力いただきありがとうございます

4

1 に答える 1

0

正しい括弧を使用しなかったことを気にしないでください。最後に余分な(行)は必要ありませんでした。これが最後の呼び出しです:

QFuture<void> future= QtConcurrent::map(tasks,
                                            boost::bind(&VideoEngine::meta_engine_recursive,
                                                        dynamic_cast<Node*>(input),
                                                        output,_1));
于 2013-01-17T09:58:14.583 に答える