Bonjour à tous,
je souhaite me créer moi même une classe permettant de modéliser des Graphes en mémoire.
J'ai donc une classe Graphe et une classe Noeud et une classe Arc.
J'utilise donc le code ci-dessous :
Code :
- struct Arc
- {
- int curs; // l'arc pointe vers un autre noeud dans le liste
- };
- class Noeud
- {
- public :
- vector<Arc> lst_arc; // chaque noeud est relié à d'autres par des arcs
- Point pos; // la position du noeud dans le graphe (utile pour l'image du graphe)
- double aire;
- Noeud();
- Noeud(int,int);
- };
- class Graphe
- {
- private :
- vector<Noeud> lst_noeud; // un graphe est constitué d'une liste de noeuds
- Point max_coord; // le noeud le plus en bas à droite
- int nb_graphe;
- public :
- Graphe();
- void ajouter_noeud(Noeud);
- int taille();
- Noeud get_noeud(int);
- };
|
A la compilation, j'ai le message d'erreur suivant :
- type/value mismatch at argument 1 in template parameter list for `template<class _Tp, class _Alloc> class std::vector'
- expected a type, got `Arc'
- template argument 2 is invalid
Il me laisse penser que le type Arc n'est pas reconnu, puisque quand je mets par exemple le type "int", il compile sans ronchonner.
Ce qui est bizarre c'est que je n'ai aucun problème avec le vecteur de Noeud, juste le vecteur d'Arc !
Quelqu'un a-t-il une idée ?
Merci bien !