Bonjour,

J'aimerai savoir comment ajouter une structure d'une classe A dans une classe B sans ajouter le fichier .h ? pour vous expliquez mieux mon problème ,j'ai fait ce petit programme :

Essaye.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
#include "Essaye.h"
using namespace std;
Essaye::Essaye()
{
	et.nom="Jean";
	et.prenom ="Jack";
 
}
Essaye.h
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
#include <vector>
#include <string.h>
#include <iostream>
#include "Essaye2.h"
 
 
using namespace std;
 
 
#ifndef ESSAYE_H_
#define ESSAYE_H_
struct etudiant {string nom;string prenom;};
class Essaye {
public:
	Essaye();
 
private :
	int a;
	etudiant et;
 
	Essaye2 es;
 
};
#endif /* ESSAYE_H_ */
Ma deuxiéme classe :

Essaye2.h


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef ESSAYE2_H_
#define ESSAYE2_H_

class Essaye2 {

public:
	Essaye2();

private :
	etudiant et2; //Erreur ici

};
#endif
Lors de la compilation il m'affiche cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
../Essaye2.h:12: error: ‘etudiant’ does not name a type
make: *** [Essaye.o] Error 1
Il ne reconnait pas la fonction parceque je dois ajouter le fichier.h , mais si j'ajoute le ichier.h une erreur qui s'apparait ici :
Essaye.h
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
#include <vector>
#include <string.h>
#include <iostream>
#include "Essaye2.h"


using namespace std;


#ifndef ESSAYE_H_
#define ESSAYE_H_
struct etudiant {string nom;string prenom;};
class Essaye {
public:
	Essaye();

private :
	int a;
	etudiant et;

	Essaye2 es;

};
#endif /* ESSAYE_H_ */
Que dois je faire svp ?