Un pointeur de fonction qui pointe une méthode d'un objet
Bonjour à tous,
J'ai crée un objet OBJECT qui contient une méthode move() dont voici le prtotype :
Code:
void move(int new_x, int new_y, unsigned int time, void(OBJECT::*callback)(int, int, unsigned int));
.
Le 4ème argument (callback) est un pointeur sur une méthode appartenant à OBJECT ou sur un de ses "descendant".
Jusque là pas de problème. Mais voici l'implémentation de la fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| void OBJECT::move(int new_x, int new_y, unsigned int time, void(OBJECT::*callback)(int, int, unsigned int))
{
//Demande du déplacement au gestionnaire de collisons
if(1)
{
m_x = new_x;
m_y = new_y;
}
else
{
callback(new_x, new_y, time);
}
} |
Mais la le compilateur me renvoie l'erreur suivante :
Citation:
Envoyé par GCC
error: must use .* or -> to call pointer-to-member function in 'callback (...)'
Je ne vois vraiment pas d'où cela peut provenir!
Merci d'avance de votre aide!
Sp@rtan03