probleme de traduction ansi C en C++, enfin je crois
Bonjour à tous,
voila je cherche à intégrer un exemple de code ansi C dans mon interface graphique Qt (mais c'est pas Qt le problème).
j'ajouterais que le code permet de contrôler une carte d'acquisition national instrument
Seulement dans l'exemple original il y a la fonction callback suivante
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| int32 CVICALLBACK EveryNCallback(TaskHandle taskHandle, int32 everyNsamplesEventType, uInt32 nSamples, void *callbackData);
int32 CVICALLBACK EveryNCallback(TaskHandle taskHandle, int32 everyNsamplesEventType, uInt32 nSamples, void *callbackData)
{
//code quelconque
return 0;
}
//que j'ai inclu dans mon code de la manière suivante
//header
int32 CVICALLBACK EveryNCallback (TaskHandle taskHandle, int32 EveryNsamplesEventType
, uInt32 nSamples, void *calbackData);
//.cpp
int32 CVICALLBACK aoGenerator::EveryNCallback(TaskHandle taskHandle
, int32 EveryNsamplesEventType, uInt32 nSamples
, void * callbackData)
{
//code quelconque...
return 0;
}
//du copiez-coller...; |
afin que la carte d'acquisition sache que c'est cette function qu'elle doit appeler on utilise la function suivante :
Code:
DAQmxRegisterEveryNSamplesEvent(AItaskHandle,DAQmx_Val_Acquired_Into_Buffer,1000,0,EveryNCallback,NULL);
or à la compilation du programme je me retrouve avec le message d'erreur suivant :
"aoGenerator.cpp:158: error: argument of type 'int32 (aoGenerator::)(void*, int32, uInt32, void*)' does not match 'int32 (*)(void*, int32, uInt32, void*)'"
la ligne 158 correspondant à l'éxécution de la fonction DAQmxRegisterEveryNSamplesEvent où EveryNCallback est passée en arguement.
je suis presque sur que c'est une erreur de débutant mais ce message d'erreur me laisse perplexe...:aie:
help siouplait:cry::calim2: