Bonjour à tous (et désolé de pourrir le forum d'autant de topics mais je n'arrive pas à résoudre ce genre de problème seul ^^)
A chaque jour son problème cette fois il s'agit d'une imbrication de template variadic.
Je m'explique : j'ai une classe A templatée :
Que je spécialise en
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 template <unsigned int S, template <typename ...Args> class Arg> class A { public: A(){std::cout<<"constructeur pas intéressant";} };
Avec Arguments la classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 template<typename ...Args> class A<0,Arguments<Args...> > { public: useless(Args ... args){std::cout<<"OK bon constructeur";} };
Le problème étant bien sur que l'instanciation d'un objet de type A<0,Arguments<int,machin,chose .... > > me provoque l'affichage de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 template <typename... Fn> class Arguments {};
J'ai regardé sur internet si je trouvais des choses intéressantes et notamment sur ce forum et j'ai trouvé des problèmes similaires sans pour autant avoir réussi à faire le parallèle (enfin ce que j'ai testé de fonctionnait pas). J'imagine que le problème ne doit pas être difficile à résoudre, avec typedef ou je ne sais quoi mais pour l'instant je ne vois pas comment faire .
Code : Sélectionner tout - Visualiser dans une fenêtre à part expected a class template, got Arguments<...>
Edit : en fait le sujet est résolu il suffisait d'utiliser un using désolé pour l'ouverture de ce post inutile ^^
Partager