我有一個遞歸目錄複製函數我想在後臺運行。該函數接受兩個QString參數,filepath和dir。QTConcurrent不編譯
從的.pro:
QT += core gui sql network concurrent
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
LIBS += -lQt5Concurrent
從代碼:
#include <QtConcurrent/QtConcurrent>
#include <qtconcurrentrun.h>
#include <QThread>
...
QFuture <void> future = QtConcurrent::run(copyFolder(filepath,dir));
我得到以下編譯錯誤:
error: no matching function for call to 'run'
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