Bonjour,

J'ai une classe abstraite, dont toutes les méthodes virtuelles pures sont redéfinies dans plusieurs classes dérivées.

Je ne peux pas manipuler directement les classes dérivées, j'utilise donc un pointeur de la classe du type de la classe abstraite.

Lorsque j'essaie d'utiliser QtConcurrent::run(), je me retrouve avec une erreur de compilation qui me dit en gros que je ne peux pas faire ça, car la fonction est virtuelle pure.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
/usr/.../qtconcurrentstoredfunctioncall.h:126: error: cannot declare field ‘QtConcurrent::StoredMemberFunctionCall0<short unsigned int, Protocole>::object’ to be of abstract type ‘Protocole’
protocole.h:50: note: because the following virtual functions are pure within ‘Protocole’:
....
protocole.h:153: note: virtual ushort Protocole::demandeAlarme()
Est-ce totalement impossible d'utiliser QtConcurrent::run() dans ce cas?