バックグラウンドで実行したい再帰的なディレクトリコピー機能があります。この関数は、filepathとdirの2つのQString引数を取ります。 .PROからQTConcurrentがコンパイルされない
:
QT += core gui sql network concurrent
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
LIBS += -lQt5Concurrent
コードから:
:私はこのような関数を呼び出す場合error: no matching function for call to 'run'
QFuture <void> future = QtConcurrent::run(copyFolder(filepath,dir));
^~~~~~~~~~~~~~~~~
:
#include <QtConcurrent/QtConcurrent>
#include <qtconcurrentrun.h>
#include <QThread>
...
QFuture <void> future = QtConcurrent::run(copyFolder(filepath,dir));
私は以下のコンパイルエラーを取得
QFuture <void> future = QtConcurrent::run(copyFolder, filepath,dir);
error: reference to non-static member function must be called
QFuture <void> future = QtConcurrent::run(copyFolder, filepath,dir);
^~~~~~~~~~
私は間違って何をしていますか?
エラーの下に他の行はありますか?例えば。 "注:候補者は:"などですか? –
はい。かなり。 – jocala
編集後、あなたは 'QtConcurrent :: run'を使って別のメンバ関数を呼び出そうとしているようです。私の答えを見てください。 – Mike