Voici le .h où apparait l'erreur :
Voici ce que m'affiche le compilateur :
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 #ifndef __eleve__ #define __eleve__ #include <vector> #include "personne.h" using namespace std; class CEleve : public CPersonne { protected : vector<double> note; public : CEleve(string, string, unsigned int); void ajouterNote(double); unsigned int nombreNotes(); double lireNote(unsigned int); double calculerMoyenne(); void test(); bool operator<(CEleve); friend std::ostream &operator<<(std::ostream&, const &CEleve); }; #endif
error: ISO C++ forbids declaration of 'CEleve' with no type
L'erreur se situe sur la ligne 20 :Je précise que je ne fais pas une dépendance cyclique (si c'est bien comme ça que ça se dit), c'est à dire que personne.h n'appelle pas eleve.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part friend std::ostream &operator<<(std::ostream&, const &CEleve);
J'ai testé en incluant <cstdlib> <cstdio> et <iostream> à mon .h
Partager