Pointeur de membre de classe en tant que paramètre de modèle
Est-il possible d'avoir non-type de paramètre du modèle qui est en fait un pointeur vers un membre de la classe? Ce que je cherche à faire c'est quelque chose comme ce qui suit:
struct Person {
Dog dog;
};
template <?? ptr>
struct Strange {
//...
};
typedef Strange<&Person::dog> weird;
Mon travail m'amène à croire que rien de tel n'est possible, mais je suis curieux de savoir si quelqu'un l'a peut dire le contraire.
Vous devez vous connecter pour publier un commentaire.
De la norme:
De sorte qu'il est permis, et semble fonctionner sur la
g++
comme ceci:template <class A, class B, A B::*member>
, ce qui est utile pour moi. Je suppose que je devrais avoir lu cette section de la norme d'un peu plus près.