Bonjour à tous,
Après avoir essayé de chercher d'où pouvait venir mon erreur de compilation je me suis décidé à poster sur ce forum en espérant que vous allez pouvoir me débloquer.
L'erreur de compilation se produit lorsque l'on essaye de surcharger l'opérateur d'affichage <<
avec le prototype : ostream& operator<<(ostream&, const Prisonnier&);
L'erreur étant la suivante :
"erreur: expected constructor, destructor, or type conversion before ‘&’ token"
Voici ma classe :
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 #ifndef PRISONNIER_H_INCLUDED #define PRISONNIER_H_INCLUDED #include <string> #include <iostream> class Prisonnier { private : int annee; bool coupPrecedentAdversaire; protected : std::string nom; int nbCoups; int score; public : virtual bool reponse() = 0; Prisonnier(const std::string); virtual ~Prisonnier(); void itererScore(int nombre); void effacerAnnee(); void ajouterAnnee(int years); //setter void initialiserNbCoups(int nombre); void initialiserCoupPrecedent(bool cp); // Accesseurs int recupererAnnee(); std::string recupererNom(); int recupererScore(); bool recupererCoupPrecAdversaire(); //affichage virtual void afficher(std::ostream &out)const=0; // test virtual void test(){} }; ostream& operator<<(ostream&, const Prisonnier&); // C'EST CETTE LIGNE QUI NE MARCHE PAS #endif // PRISONNIER_H_INCLUDED
Partager