boooobs (./22) :
la bonne? bah cke je veux dire c'est que si t'assigne le pointeur dans des variables deja du bon type t'as pas besoin de cast explicite:
class A
{
public:
A();
int Truc() const;
int Truc(int x = 0) const;
};
void Tralala()
{
int (A::*p0)() const = &A::Truc; // va chercher Truc()
int (A::*p1)(int) const = &A::Truc; // va chercher Truc(int x = 0)
}

oué oué, j'avais crossé, je ne voyais pas bien le rapport entre ta réponse qui n'en était pas une et ma remarque qui en était une

pis bon au pire pour les appeler sans parametres tu peux toujours faire:
((int (A::*)() const)&A::Truc)(); // appelle Truc()
((int (A::*)(int) const)&A::Truc)(); // appelle Truc(int x) avec x = 0
Oué c'est sûr, mais bon

C'est quoi l'idée ?
