bonjour,
je suis entrain de faire un projet sur des graphe en utilisant les template.
j'ai fait une fonction qui teste si un objet (PElement<T>) appartient à une liste d'objet de type PElement<T>
voila la fonction :
voila l'appel de cette fonction dans une autre class : avec T un "char"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 template<class T>//remplacer par T bool PElement<T>::appartient(T * objetATester, PElement< T > * lSommets);
et voila le résultat de la compilation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 template <class S, class T> Arete<S,T> * Graphe<S,T>::creeArete( Sommet<T> * debut, Sommet<T> * fin, const S & info) { Arete<S,T> * nouvelleArete; if (! PElement< Sommet<T> >::appartient(debut,lSommets) ) throw Erreur("début d'arête non défini"); . . . .
merci de bien vouloir m'aider à comprendre l'origine du problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 ClCompile: 1> Vecteur2D.cpp 1> main.cpp 1>c:\users\...\desktop\client c++ sources\client-c++\graphe.h(137): error C3861: 'Erreur'*: identificateur introuvable 1> c:\users\...\desktop\client c++ sources\client-c++\graphe.h(134)*: lors de la compilation de la fonction membre 'Arete<S,T> *Graphe<S,T>::creeArete(Sommet<T> *,Sommet<T> *,const S &)' de la classe modèle 1> with 1> [ 1> S=std::string, 1> T=char 1> ] 1> c:\users\...\desktop\client c++ sources\client-c++\main.cpp(46)*: voir la référence à l'instanciation de la classe modèle 'Graphe<S,T>' en cours de compilation 1> with 1> [ 1> S=std::string, 1> T=char 1> ] 1> GElement.cpp 1> Erreur.cpp 1> Génération de code en cours... 1> 1>ÉCHEC de la build. 1> 1>Temps écoulé 00:00:02.38 ========== Régénération globale*: 0 a réussi, 1 a échoué, 0 a été ignoré ==========
Partager