Bonjour,

En fait j'ai un programme en C++ qui fonctionne de la manière suivante si tous ce passe dans le même fichier .cpp.

(J'utilise le moteur dynamique ode mais je ne pense pas que le problème soit lié à ode.)

J'ai donc une fonction:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
void nearcallback(void *date, dGeomID o1, dGeomID o2)
{
.........
}
 
int main()
{
.......
dSpacecollide(space, 0, nearcallback);
.......
}
Tous cela fonctionne correctement si ils sont dans le même fichier .cpp. Le nearcallback de la fonction dspacecollide étant un pointeur qui rappel la fonction nearcallback.

Mon but est donc de mettre ces deux choses dans une class:

world.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
 
class World
{
private:
 void loop();
 void nearcallback(void *date, dGeomID o1, dGeomID o2);
 
};
World.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
void World::loop()
{
 ....
dspacecollide(space, 0, "je voudrais appeler la fonction nearcallback");
 ....
}
 
void World::nearcallback(void *date, dGeomID o1, dGeomID o2)
{
....
}
Je voudrais donc pouvoir appeler dans ma fonction loop la fonction membre nearcallback

Merci d'avance.