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 :
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);
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
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");
 
.
.
.
.
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
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é ==========
merci de bien vouloir m'aider à comprendre l'origine du problème.