Передача метода как аргумента 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);

Вопрос: как правильно передать метод в качестве аргумента в таком случае?

Заранее спасибо!


Ответы (0 шт):