Bonjour tout le monde,

J'ai un peu de mal en C++ et je n'arrive pas à trouver l'erreur du projet que je viens tout juste de commencer

Je souhaite créer une classe Arbre et une classe Foret.
Un Arbre contient une Foret .
Une Foret contient une Foret et un Arbre.

Voici les 4 classes correspondantes :

arbre.hpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef _ARBRE_H
#define	_ARBRE_H
 
#include "foret.hpp"
 
class Arbre{
      private :
              Foret foret();
 
      public :
             Arbre(char *);
};
#endif	/* _ARBRE_H */
arbre.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
#include "arbre.hpp"
 
Arbre::Arbre(char* chemin) {}
foret.hpp
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
#ifndef _FORET_H
#define	_FORET_H
 
#include"arbre.hpp"
 
class Foret {
	private :
	    Arbre premierArbre("plop");
	    Foret rest();
 
	public:
	    Foret();
 
};
#endif	/* _FORET_H */
foret.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
#include "foret.hpp"
 
Foret::Foret() {
 
}
Quand je compile :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
gcc -Wall -pedantic -c arbre.cpp -o arbre.o
In file included from arbre.hpp:4,
                 from arbre.cpp:1:
foret.hpp:9: erreur: ‘Arbre’ does not name a type
Après une bonne heure de recherche je dois me résoudre à ne pas trouver l'erreur qui doit être très bète.


Auriez-vous une idée ?


PS : Si vous voyez des choses moches ou pas propre dans ces 4 fichiers, n'hésitez pas à critiquer même si ça n'a rien à voir.