Comme il est conseill� dans la FAQ de d�veloppez, j'ai d�clar� mes .h et mes .cpp dans un seul fichier (ce qui m'a permis de r�soudre pas mal de probl�mes). Mais maintenant il me reste un probl�me que je n'arrive pas � r�soudre. C'est le passage d'un objet g�n�rique en param�tre d'une de mes fonctions (je le fait dans plusieurs de mes fonctions).
Voici ce que je fait:
Je n'obtiens pas d'erreur de syntaxe, par contre �a plante quand je compile:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 template <class G,class S,class A> GenericAretes<G,S,A>::GenericAretes(G* p_arete_dans,S* p_somm1,S* p_somm2){ num++; stringstream s; s << "A" << num; nom_arete=s.str(); arete_dans=p_arete_dans; somm1=p_somm1; somm2=p_somm2; somm1->setSommet_dans(p_arete_dans); somm2->setSommet_dans(p_arete_dans); somm1->addArete(this);//erreur de compile ici }
(GenericLiens h�rite de GenericAretes et concr�tise cette derni�re).
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 GenericAretes.h:55:21: Cannot initialize a parameter of type 'GenericLiens *' with an rvalue of type 'GenericAretes<GenericReseaux, GenericNoeuds, GenericLiens> *'
J'ai essay� de trouver des r�ponses (passer par des cast et tout rien � faire) un peu partout mais impossible les rapprocher de mon probl�me.
Voici ma fonction addArete:
et "aret_incidents est un vector d�clar� ainsi:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 template <class G,class S,class A> void GenericSommets<G,S,A>::addArete(A* p_arete){ aret_incidents.push_back(p_arete); }
Informations suppl�mentaires: je compile avec l'IDE XCode (qui prend en charge la derni�re version du compilateur g++) de MAC OS X.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 vector<A*> aret_incidents;
Voil� si vous pourriez m'aider �a serait vraiment super. Merci d'avance.
Partager