salut,
j'ai une fonction de callback pour laquelle je veux passer une methode membre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
void EditorScreen::FavInit()
{
	FavBar= new FavBar(); // items
	FavBar->callback(this,EditorScreen::FavShortcutClicked); // enregistre la fonction de callback.
}
voici la def de la fct :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
void EditorScreen::FavShortcutClicked( Uint8 bar, Uint8 slot, Uint8 bank )
{... }
et voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
void FavBar::callback(EditorScreen* p,  void (EditorScreen::*fct)(Uint8 br, Uint8 sl, Uint8 bk))
{
... }

voilà j'ai codé ca il y a quelques temps, ca compile et marche tres bien sous VC6 sans le moindre warning...
je passe sous VS2010, et il me sort une erreur :
error C3867: &'EditorScreen::FavShortcutClicked' : liste d'arguments manquante dans l'appel de fonction ; utilisez 'EditorScreen::FavShortcutClicked' pour créer un pointeur vers membre
sur la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
	FavBar->callback(this,EditorScreen::FavShortcutClicked);
pourquoi s'attends t-il a des parametres, ce n'est que le nom de la fonction...

si vous avez une idée, merci de me mettre sur une piste.
salutation.