Bonsoir, 
je suis face a un probleme etrange ^^' 
En effet j'ai mon code d'un arbre binaire implemente dans un vecteur qui compile correctement.
Maintenant il est temp d'ajouter des template ^^"
	
	1 2 3 4
   | template<typename TYPE>
Arbre2V<TYPE>::NoeudV* Arbre2V<TYPE>::NoeudV::filsGauche(){
 //mon code
} | 
 Bien G++ n'aime pas * il demande un constructeur, destructeur ou operatuer de conversion avant...
Donc je me demandait comment faire pour passair d'un type de retour Arbre2V::NoeudV* a un type avec template.
N.B.  Arbre2V est en effet une classe template, NoeudV est declare a l'interieur: 
	
	1 2 3 4 5 6 7 8 9 10
   | template<typename TYPE>
class Arbre2V : public Arbre2<TYPE>{
	public:
		class NoeudV : public Arbre2<TYPE>::Noeud{ /*j'ai du ajouter Arbre2<TYPE>:: sinon il acceptait plus Noeud*/
			public:
                            friend class Arbre2V<TYPE>;
                            /*Suite de la classe*/
                };
                /*Suite de la classe*/
}; | 
 Ils héritent d'une structure abstraite similaire (Arbre2 en template et Noeud imbrique).
En ajoutant les template, il met une aussi erreur a la méthode prive d'Arbre2V
	
	void copier(int, Noeud*);
 Et G++ dit que Noeud* n'est pas un type, et le transforme en int pour poursuivre ça compilation (ce qui genere naturellement des erreur âpres)
Avant l'introduction des template, tout cela marchait bien :'(
Comment faire?
Merci d'avance
N.B.2 Je suis oblige d'utiliser a ce type de structure, classe imbrique, par l'énonce.
						
					
Partager