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;
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_;
};
Ça me parait logique de pouvoir le faire par contre je ne vois pas comment le faire d'un point de vue syntaxique.