J'ai de la difficulté à utiliser une fonction d'enregistrement de bibliothèque tierce pour enregistrer un rappel. J'écris en C++ CLI, et j'accède à une bibliothèque écrite en C ou C++.C3374: impossible de prendre l'adresse de 'fonction' à moins de créer une instance de délégué
Que signifie l'erreur de compilation ci-dessus?
c'est la fonction d'enregistrement telle que définie par le vendeur:
MYCO int WINAPI MyCo_Device_Register_CallbackFunc(LPVOID func, LPVOID lpParam, DWORD mask);
c'est la fonction de rappel tel que défini par le vendeur:
typedef void (CALLBACK* MyCo_Device_CallbackProc)(DWORD ddStatus, LPVOID lpParam);
Ma fonction de rappel:
public ref class Device
{
void CallBackFunc(DWORD ddStatus, LPVOID lpParam) {};
}
Mon appel (qui échoue):
MyCo_Device_Register_CallbackFunc((LPVOID) Device::CallBackFunc, nullptr, 0xFFFF);
double: http://stackoverflow.com/questions/822526/how-do-i-register-a-callback-in-ac-library-from-my-cli-wrapper – lothar
cette question a été supprimée – MedicineMan
J'ai développé ma réponse en bas. – Promit