pointeur de fonction, pointeur de méthode
Bonjour à tous
Dans le cadre d'un projet pour fac, j'utilise ODE et drawstuff dans un projet en C++.
Pour ceux qui ne connaissent pas ODE est un moteur physique www.ode.org, et drawstuff est une bibliothèque qu'ils ont utilisé dans leurs exemples.
Pour faire fonctionner drawstuff j'ai besoin d'un pointeur de fonction de type void (*)(int), mais je n'ai qu'une méthode non static de classe.
Comment je pourrais faire pour passer cette méthode ? avec un simple cast ?
J'avais eu un problème similaire pour un thread et je l'avais résolu comme ça
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
void GeneticAlgorithm::genetic()
{
///bla bla
}
void launch(void* data)
{
GeneticAlgorithm* algo = (GeneticAlgorithm*)data;
algo->genetic();
}
void GeneticAlgorithm::start()
{
pthread_create(&thread,...,launch,this);
} |
mais là je ne peux pas faire pareil.
Avez vous une idée?
Merci d'avance.