Voici le pointeur sur une méthode de classe qui accepte deux ints et retourne un entier:modèle pour typedef qui accepte pointeur vers les const et les fonctions non-const
template <typename T>
using TFunction = int (T::*)(int, int);
Je ne peux passer ici des méthodes non-const . Comment changer ce modèle de manière à accepter les méthodes const et non-const?
Vous voulez dire * fonctions * const' et non-'const', n'est-ce pas? Aucun type de pointeur unique ne peut faire les deux en même temps. – Quentin
Je n'accepte aucun membre *. Il accepte un 'T'. Vous êtes allé trop minime sur votre [mcve]. Ceci est une question XY. – StoryTeller
Vous ne pouvez pas avoir un nom qui se réfère à 2 types en même temps. Vous pouvez faire 'template en utilisant TCFunction = int (T :: * const) (int, int);' pour avoir un nom pour les fonctions 'const' ou vous tapez-effacer les pointeurs de fonction avec' std :: function' ou votre propre version. –
nwp