übergeben Ich habe eine Klasse, die Funktionalität hat, OpenGL zu initialisieren und in separaten Thread ausführen.Wie nicht-statische Member-Funktion in glutDisplayFunc
Mein Problem ist: openGL Rückrufe wie glutDisplayFunc, glutMotionFunc usw. akzeptiert void (* f) void, und ich kann nicht Klassenmitgliedsfunktion übergeben.
Wege herum. 1) Ich kann Memberfunktion als statisch deklarieren, aber in diesem Fall muss ich alle verwendeten Membervariablen als statisch deklarieren und am Ende eine ganze Klasse als statisch deklarieren.
2) Ich kann einige eigenständige Funktion verwenden und mein Objekt als global deklarieren, aber es ist zu schlecht.
Ich frage mich, ob es einige Möglichkeiten gibt, so muss ich meine OpenGL-Klasse nicht statisch machen ?? (Mit C++)
Dieses Code-Snippet erzeugt einen 'Fehler: 'das' wurde für diese Lambda-Funktion nicht erfasst ', wie behebe ich das? – wil93
'Fehler: ungültige Verwendung der nicht statischen Elementfunktion glutDisplayFunc ([]() {draw;});' –