这样的callback函数应该怎么定义
class CMedia
{
void CALLBACK waveInProc(HWAVEIN hwi, UINT uMsg, WORD dwInstance, WAVEHDR* dwParam1, DWORD dwParam2);
void Start();
};
void CMedia::waveInProc(HWAVEIN hwi, UINT uMsg, WORD dwInstance, WAVEHDR* dwParam1, DWORD dwParam2)
{
return;
};
void CMedia::Start()
{
.....
waveOutOpen(&hWaveOut, WAVE_MAPPER, &waveFormatEx, (unsigned long)this->waveOutProc, 0L, CALLBACK_FUNCTION);
....
}
waveInProc 是个回调函数,我想把它定义到类里面,这样我可以使用类里面的方法和变量,但是报告错误:
error C2440: “类型转换” : 无法从“void (__stdcall CMedia::* )(HWAVEIN,UINT,WORD,WAVEHDR *,DWORD)”转换为“unsigned long”
现在我该怎么改呢?