を呼び出す:mappedReducedを、それは、このコードで4つのエラーが発生してドキュメントdescription.I'mのシンプルさではなかった。のQt - 私はQtConcurrent使用しようとしていたmappedReduced
私はQtの5.9を使用しています。 MSVC-2015を有する1
//.......................
QMap<QString,QString> TesseractAPI::analyze(QStringList singleData);
void joinMaps(QMap<QString,QString> map, const QMap<QString,QString> partial);
//.............
QMap<QString, QString> TesseractAPI::analyzeAll(QList<QStringList> data){
/*QFuture< QMap<QString,QString> > res*/;
QFuture< QMap<QString,QString> > res = QtConcurrent::mappedReduced(data, TesseractAPI::analyze, joinMaps); // I tried adding '&' before the functors
res.waitForFinished();
qDebug()<<res.result();
return res.result();
}
コンパイラエラー:
C2780: 'QFuture<QtPrivate::ReduceResultType<ReduceFunctor>::ResultType> QtConcurrent::mappedReduced(Iterator,Iterator,MapFunctor,ReduceFunctor,QtConcurrent::ReduceOptions)': expects 5 arguments - 3 provided
C2780: 'QFuture<T> QtConcurrent::mappedReduced(Iterator,Iterator,MapFunctor,ReduceFunctor,QtConcurrent::ReduceOptions)': expects 5 arguments - 3 provided
C2780: 'QFuture<T> QtConcurrent::mappedReduced(Iterator,Iterator,MapFunctor,ReduceFunctor,QtConcurrent::ReduceOptions)': expects 5 arguments - 3 provided
C2783: 'QFuture<T> QtConcurrent::mappedReduced(const Sequence &,MapFunctor,ReduceFunctor,QtConcurrent::ReduceOptions)': could not deduce template argument for 'ResultType'
Iは、データ型を変更しようとしたが、私はまた、目の例に従っe罰金をコンパイルする文書ですが、問題がどこに残っているのかわかりませんでした。
私はそれがプライベートメンバ変数にアクセスする必要があるため、静的に「分析」にすることはできません – pourjour
メンバへのポインタは、コンテナ要素クラス、この場合はQStringListのメンバに対してのみサポートされています。無関係なオブジェクトの無関係な機能が必要なので、ここで説明するように、それをファンクタオブジェクトにラップする必要があります:http://doc.qt.io/qt-5/qtconcurrentmap.html#using-function-objects – chrisaverage