백그라운드에서 실행하고 싶은 재귀 적 디렉터리 복사 기능이 있습니다. 이 함수는 두 개의 QString 인수 filepath와 dir을 취합니다. .PRO에서QTConcurrent가 컴파일되지 않습니다.
: 코드에서
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