我正在使用SDL2_mixer库,但我认为这个问题也应该适用于一般情况。有没有办法改变回调的范围而不改变参数?
目前,我想使用的函数Mix_HookMusicFinished(void (*music_finished)(void))
对C样式函数的全局范围具有设置的回调。不过,我希望将该回调设置为我自己的类void CMusic::musicFinished()
中的成员函数,而不需要全局范围内的函数。
有没有办法做到这一点?就像Mix_HookMusicFinished(musicFinished)
会很好,但直接有一个错误argument of type "void (CMusic::*)()" is incompatible with parameter of type "void (*)()"