Callback, objet, cast. [VS 2003] [Qt] - C++ - Programmation
MarshPosté le 16-03-2006 à 22:30:58
Salut, j'ai un petit pb
Je programme une application en Qt qui commande un appareil photo.
Lorsque la photo est prise, le SDK de l'appareil appelle un callback J'essaye de passer une fonction membre de mon objet Qt comme callback
Code :
void SetPhotoTakenCallBack(void(*callback)())
[...]
void Design::PhotoTakenCB(void)
{
emit PhotoTaken();
}
[...]
RCCamera->SetPhotoTakenCallBack(PhotoTakenCB);
[...]
J'ai l'erreur suivante et j'arrive pas à m'en débarrasser
design.cpp(107) : error C2664: 'Camera::SetPhotoTakenCallBack' : impossible de convertir le paramètre 1 de 'void (void)' en 'void (__cdecl *)(void)' Aucune fonction ayant ce nom dans la portée ne correspond au type de la cible
j'ai essayé en castant en void* un pointeur, mais ça marchait encore moins bien
Marsh Posté le 16-03-2006 à 22:30:58
Salut, j'ai un petit pb
Je programme une application en Qt qui commande un appareil photo.
Lorsque la photo est prise, le SDK de l'appareil appelle un callback
J'essaye de passer une fonction membre de mon objet Qt comme callback
J'ai l'erreur suivante et j'arrive pas à m'en débarrasser
design.cpp(107) : error C2664: 'Camera::SetPhotoTakenCallBack' : impossible de convertir le paramètre 1 de 'void (void)' en 'void (__cdecl *)(void)'
Aucune fonction ayant ce nom dans la portée ne correspond au type de la cible
j'ai essayé en castant en void* un pointeur, mais ça marchait encore moins bien
Message édité par farib le 16-03-2006 à 22:34:40