Also, ich benutze die FMOD-API und es ist wirklich eine C-API.
Nicht dass das irgendwie schlecht wäre. Es ist nur so, dass es nicht gut mit C++-Code interagiert.
Zum Beispiel mit
FMOD_Channel_SetCallback( Kanal, Rückruffunktion ) ;
Es erwartet eine C-Style-Funktion für Rückruffunktion
, aber ich möchte ihm eine Methodenfunktion einer Klasse übergeben.
Am Ende habe ich den Win32-Trick verwendet, um die Methodenfunktion statisch zu machen. Dann funktioniert sie als Rückruf in FMOD.
Jetzt muss ich meinen Code auseinandernehmen, um einige der Elemente statisch zu machen, nur um FMODs C-Natur zu berücksichtigen.
Ich frage mich, ob es in FMOD möglich ist oder ob es eine Möglichkeit gibt, den Rückruf mit einer spezifischen C++-Objektinstanz-Mitgliedsfunktion zu verknüpfen (nicht eine statische Funktion). Es wäre viel geschmeidiger.