Voici le .h où apparait l'erreur :
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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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