Problème de compilation (include)
Bonjour à tous,
J'ai un problème de compilation.
J'obtiens l'erreur :
Citation:
'Liste_transitions' is used as a type, but not defined as a
lorsque j'essaye de compiler et je ne vois pas d'où ça vient, il y a bien le include "transition.h" en haut du fichier. J'ai essayé avec un forward declaration mais ça ne marche pas non plus.
Voici le code de mes deux fichiers :
etats.h
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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#include <iostream>
#include <vector>
#include "transition.h"
class Liste_etats;
class Etat
{
private :
bool m_est_initial;
bool m_est_final;
int m_numero;
Liste_transitions m_liste_transition;
public :
Etat();
Etat(int numero);
Etat(int numero, bool initial, bool final);
~Etat();
void ajout_transition(int, int,char);
Liste_etats retour_liste_EA(char c);
};
//la classe Liste_etats contient une liste d'états dans un conteneur de type vector
class Liste_etats
{
private:
std::vector<Etat> m_tab_etats;
public:
//destructeur
~Liste_etats();
//méthode qui permet l'ajout d'une transition à la liste
void ajout_etat(int numero, bool initial, bool final);
Liste_etats retour_liste_EA(char c);
}; |
transition.h
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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#include <iostream>
#include <vector>
#include "etats.h"
class Liste_etats;
//la classe Transition contient les infos d'une transition, cad l'état de départ, l'état d'arrivée, et la lettre
class Transition
{
private:
int m_depart, m_arrivee;
char m_etiquette;
public:
Transition();
Transition(int, int, char);
int get_arrivee();
char get_etiquette();
};
//la classe Liste_transitions contient une liste de transitions dans un conteneur de type vector
class Liste_transitions
{
private:
std::vector<Transition> m_tab_transitions;
public:
//destructeur
~Liste_transitions();
//méthode qui permet l'ajout d'une transition à la liste
void ajout_transition(int depart,int arrivee, char lettre);
Liste_etats retour_liste_EA(char c);
}; |
L'erreur est pour la ligne 14 du premier fichier.
Merci d'avance.