Glut + C++

Signaler
Messages postés
2
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
17 novembre 2004
-
Messages postés
2
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
17 novembre 2004
-
bonjour je suis entrain d'essayer de faire un petit moteur 3d . pour cela g une classe application dans laquelle g une méthode main() et toutes les autre méthode comme clavier() , affichage(), mousemotion()... . Mon problème est que lorsque dans ma méthode main j'appelle par exemple glutDisplayFunc(affichage); il me dit
" app.cpp:109: error: argument of type `void (app::)()' does not match `void (*)()" ... apparement les fonctions de rappelles n'accepte pas les méthodes de classe...

si quelqu'un a une solution pour régler ce petit souci cela m'aiderai grandement ;)

méthode privé:
void app::affichage () {}

méthode publique :
void app::main ()
{...
glutDisplayFunc(affichage);
...}

merci d'avance :)

3 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
une fonction de rappel doit etre declaree 'static' si est dans une classe.

ciao...
BruNews, MVP VC++
Messages postés
230
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
4 août 2005

Ou tu attribues un id pour chaque instance de ta classe et une fonction globale display
ex
void Display()
{
int cur_id=glutGetWindow();
App* p= find_id(id);//Retrouve l'instance par rapport à l'id
p->Display();
}
et ds
app::Main()
{
glutDisplayFunc(Display);
}
Messages postés
2
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
17 novembre 2004

oki nikel merci a vous je v essayer tout ca :)