probl�me avec les template c++
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:
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:
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:
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.