Передача метода как аргумента QT + BASS
Есть проблема, в примере из доков BASS (на С) есть функция
void CALLBACK DeviceFreeSync(HSYNC handle, DWORD channel, DWORD data, void *user)
{
// the device output stream has been freed due to format change, get a new one with new format
if (!fxchan) return;
fxchan = BASS_StreamCreate(0, 0, 0, STREAMPROC_DEVICE, 0);
fxchansync = BASS_ChannelSetSync(fxchan, BASS_SYNC_FREE, 0, DeviceFreeSync, 0);
setupFX();
}
Однако при подстановке в qt проект выдает ошибку (функция объявлена внутри класса):
error: no matching function for call to 'BASS_ChannelSetSync'
candidate function not viable: no known conversion from 'void (Effects::Channel::*)(HSYNC, DWORD, DWORD, void *) __attribute__((stdcall))' to 'SYNCPROC *' (aka 'void (*)(unsigned long, unsigned long, unsigned long, void *) __attribute__((stdcall))') for 4th argument
Изменил строку с передачей вот так:
fxchansync = BASS_ChannelSetSync(fxchan, BASS_SYNC_FREE, 0, &Channel::DeviceFreeSync, 0);
Вопрос: как правильно передать метод в качестве аргумента в таком случае?
Заранее спасибо!