Bonjour,
Je travaille sur un mini projet en Qt5 et je fais appel à QtConcurrent::run() pour bloquer entre autre le programme en attendant la fin de l’exécution d'une fonction.
J'ai cherché un peu sur le net et j'ai trouvé que la syntaxe ce fait ainsi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class MyClass : public QObject { Q_OBJECT public: constructeur(), ~destructeur(); void send( all parametres ); ... };Mais à la compilation je reçois l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 void MainWindow::Function() {... MyClass* instance = new MyClass( "", "", "", 0, 0); if( condition ) { QFuture<void> future = QtConcurrent::run(instance, &MyClass::send, param1, param2, ...); future.waitForFinished(); } ... }
F:\Qt\5.2.1\mingw48_32\include\QtConcurrent\qtconcurrentstoredfunctioncall.h:-1: In instantiation of 'QtConcurrent::VoidStoredMemberFunctionPointerCall5<T, Class, Param1, Arg1, Param2, Arg2, Param3, Arg3, Param4, Arg4, Param5, Arg5>::VoidStoredMemberFunctionPointerCall5(T (Class::*)(Param1, Param2, Param3, Param4, Param5), Class*, const Arg1&, const Arg2&, const Arg3&, const Arg4&, const Arg5&) [with T = void; Class = Smtp; Param1 = const QString&; Arg1 = QString; Param2 = const QString&; Arg2 = QString; Param3 = const QString&; Arg3 = char [20]; Param4 = const QString&; Arg4 = QString; Param5 = QStringList; Arg5 = QStringList]':Merci de votre aide.F:\Qt\5.2.1\mingw48_32\include\QtConcurrent\qtconcurrentrun.h:303: required from 'QFuture<T> QtConcurrent::run(Class*, T (Class::*)(Param1, Param2, Param3, Param4, Param5), const Arg1&, const Arg2&, const Arg3&, const Arg4&, const Arg5&) [with T = void; Class = Smtp; Param1 = const QString&; Arg1 = QString; Param2 = const QString&; Arg2 = QString; Param3 = const QString&; Arg3 = char [20]; Param4 = const QString&; Arg4 = QString; Param5 = QStringList; Arg5 = QStringList]'
Partager