000
21.05.2005, 15:31 Uhr
~e1sbaer
Gast
|
Hallo, ich habe zwar schon mal das ganze im bereich OpenGL gepostet, aber ich denke, es ist ein allgemeines Problem. Ich habe versucht mir eine Klasse (Window) zu bauen, die mit GLUT ein Fenster erzeugt. Dem entsprechend wollte ich auch eine Member-Function als Callback-Routine registrieren, um auf reshapes reagieren zu können. Der Compiler gibt nun folgenden Fehler aus:
Zitat: |
ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say `&Window::reshape'
|
Muss die Funktion static sein, damit ich einen Pointer auf die Funktion setzen kann? Dies wäre aber recht doof, da später von dieser Klasse mehrere Instanzen gleichzeitig laufen und da jede ihre eigene Callback-Routine haben soll.
Hatte auch mal versucht, wie der Compiler sagt &Window::reshape zu verwenden. Hier bekomme ich dann diesen Fehler:
Zitat: |
cannot convert `void (Window::*)(int, int)' to `void (*)(int, int)' for argument `1' to `void glutReshapeFunc(void (*)(int, int))'
|
Ich weiß nicht mehr weiter bei diesem Problem. Hat jemand von euch eine Idee? |