私は、コールバックCALLBACKマクロ(QT)
int sampleCallbackFunction(struct SampleStruct sample);
としての私のメンバ関数を渡したい
pDLLSetSample
が
typedef int (CALLBACK * pDLLSetSample) (struct SampleStruct rawDataSample);
あるこの
int iV_SetSampleCallback(pDLLSetSample pSampleCallbackFunction)
のようなシグネチャを持つ機能を持っています
と私がそれを好きと呼ぶとき
iV_SetSampleCallback(&MainWindow::sampleCallbackFunction);
私はエラー
error: C2664: 'int iV_SetSampleCallback(pDLLSetSample)': cannot convert argument 1 from 'int (__thiscall MainWindow::*)(SampleStruct)' to 'pDLLSetSample'
を持って、それがなぜ起こるか私には理解できません。 CALLBACK
マクロは何ですか? __thiscall
はどこから来たのですか?コールバックをこの関数に正しく渡すにはどうすればよいですか?
SensoMotoricを呼び出して、コールバックAPIが壊れていることを通知します。呼び出された関数に 'void * 'を渡すことを許さないコールバックAPIは、設計上、壊れています。 'pDLLSetSample'は' typedef int(CALLBACK * pDLLSetSample)(構造体SampleStruct rawDataSample、void * userData) 'および' int iV_SetSampleCallback(pDLLSetSample pSampleCallbackFunction、void * userData) 'として宣言する必要があります。... –