我需要从外部DLL实现一些回调函数,但我找不到将它放在我的类中的方法。
DLL方法:
//CALLBACK functions
typedef void CALLBACK GRCAP_STATUS_EVENT_PROC(char* idSensor, GRCAP_STATUS_EVENTS event);
DLLIMPORT
GrCapInitialize(GRCAP_STATUS_EVENT_PROC *StatusEventHandler);
我的课程:
Class Biometria {
public
void StatusEventHandler(char* idSensor, GRCAP_STATUS_EVENTS event);
}
// Consumes data from a status event.
void Biometria::StatusEventHandler(char* idSensor, GRCAP_STATUS_EVENTS event) {
// Signaling that a status event occurred.
if (event == GR_PLUG) {
// Start capturing from plugged sensor.
GrCapStartCapture(idSensor, myFingerCallBack, myImageCallBack);
}
else if (event == GR_UNPLUG) {
// Stop capturing from unplugged sensor
GrCapStopCapture(idSensor);
}
}
我收到错误的地方:
int Biometria::Initialize() {
//some code
return GrCapInitialize(&Biometria::StatusEventHandler);
}
我已经尝试过使用静态方法但没有成功。
答案 0 :(得分:0)
将方法声明更改为:
后解决static GRCAP_STATUS_EVENT_PROC StatusEventHandler;