我正在使用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 (*)()"