Erreur : ISO C++ forbids declaration of 'uneclasse', une solution ?
Voici le .h où apparait l'erreur :
Code:
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 |
Voici ce que m'affiche le compilateur :
error: ISO C++ forbids declaration of 'CEleve' with no type
L'erreur se situe sur la ligne 20 :
Code:
friend std::ostream &operator<<(std::ostream&, const &CEleve);
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
J'ai testé en incluant <cstdlib> <cstdio> et <iostream> à mon .h