Bonjour à tous!

l'exemple suivant produit une erreur car T n'est pas déductible dans la spécialisation partielle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
template <typename T>
struct A {
    int F(T &c) { /* actions */ }
};
 
template <class T>
struct A<std::is_member_function_pointer<typename T::G>> {
    int F(T &c) { /* actions */return c.G(); }
};
Mon besoin :
Je souhaiterais spécialiser A de sorte que lorsque le type de l'argument a une fonction G, A puisse l'utiliser.
Comment faire pour contourner cette erreur ?

Par avance merci!