Bonjour.
Je cherche à borner les paramètres d'une classe avec c++11 :
1 2 3 4 5 | template<typename T, typename = typename std::enable_if<std::is_base_of<Classe, T>::value, T>::type> class A { // ... }; |
Ici le paramètre de la classe A est borné par la classe 'Classe'. Et maintenant, je voudrais borner le paramètre par la classe elle-même.
1 2 3 4 5 | template<typename T, typename = typename std::enable_if<std::is_base_of<A<T>, T>::value, T>::type> class A { // ... }; |
Mais là il me dit à la l.1 qu'il ne connait pas A. Donc j'ai essayé d'ajouter une previous declaration, sans spécifier le 2e paramètre du template. Mais du coup, le nombre de paramètre ne correspond pas. Du coup je suis un peu perdu.
Merci.
+0
-0