class Citoyen
{
protected:
// Attributs d'un citoyen
int NAS;
string nom;
string naissance;
// Listes de rendez-vous et d'hospitalisations
list<RendezVous>listeRendezVous;
list<Hospitalisation>listeHospitalisations;
[...]
}
In this sample, for line 10, I get:
error C2065: 'RendezVous': undeclared identifier
error C2923: 'std::list': 'RendezVous' is not a valid template type argument for parameter '_Ty'
error C2903: 'allocator': symbol is neither a class template nor a function template
error C3203: 'allocator': unspecialized class template can't be used as a template argument for template parameter '_Alloc', expected a real type
What do you mean by the header file? Do you include that file in every other file?
If so, don't do that. Instead, include headers only where they are needed.
So in Citoyen.h, for instance:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#include <string>
#include <list>
#include "RendezVous.h"
#include "Hospitalisation.h"
class Citoyen
{
protected:
// Attributs d'un citoyen
int NAS;
std::string nom;
std::string naissance;
// Listes de rendez-vous et d'hospitalisations
std::list<RendezVous> listeRendezVous;
std::list<Hospitalisation> listeHospitalisations;
[...]
};
And never use "using namespace std" in a header file. Always explicitly use std:: in header files.