Bonjour à tous,
Je me demandais s'il était possible de faire une déclaration anticipée d'un alias sur une instanciation de classe template. Par exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 //Fichier "template.h" : contient une classe template template<typename T> struct templated_struct {};
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 //Fichier "alias.h" : un typedef sur une instanciation de templated_struct #include "template.h" struct A {}; typedef templated_struct<A> instantiated_type;Ça me parait logique de pouvoir le faire par contre je ne vois pas comment le faire d'un point de vue syntaxique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 //Fichier "classe.h" : une classe pouvant bénéficier d'une déclaration anticipée de instanciated_type #include "alias.h" struct instantiated_type; //Problème ici ça ne compile pas : Visual 2010 me dit: 'instantiated_type'*: redéfinition*; types de base différents struct classe { private: instantiated_type* member_; };
Partager