Bonjour ,
voici le bout du code :
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 class Case { private: int x ; //ligne int y ; //colonne char etiq ; // etiquette pour savoir si c'est un pion P ou vide '_' public: // getters et setters int getX()const {return x;} int getY()const {return y;} void setX(int a){x = a;} void setY(int b){y=b;} void setEtiq(char C){etiq = C;} char getEtiq()const{return etiq;} // constructeur Case(); Case(const Case& C); // constructeur par recopie je ne sais pas si la déclaration est bonne Case(int lig,int col,char etiqette); ~Case(); void Afficher(); ostream &operator<<(Case B); // surcharge de l'operateur << afin d'afficher une case ostream &operator<<(Case* B); // on surcharge pour pouvoir afficher un pointeur sur Case }; ostream &operator<<(ostream &out, Case B){ out << "ligne= "<<B.getX() <<" "<<"colonne= " << B.getY() <<" "<<"etiquette= "<<B.getEtiq()<< endl; return out ; } ostream &operator<<(ostream &out, Case* B){ out << "ligne= "<<B->getX() <<" "<<"colonne= " << B->getY() <<" "<<"etiquette= "<<B->getEtiq()<< endl; return out ; } void Case::Afficher(){ cout << "renseignement sur cette case" << *this << endl ; } Case::~Case(){} // Class Piece class Piece { private: Case* place; // je pensais qu'une pièce pointe sur une case public: Piece(); ~Piece(); Case* getPiece(){return place;} void setPiece( Case& B1){place = &B1;} void Deplacer(int ligne , int colonne); // pour pouvoir le déplacer void DeplacerCase(Case& B); // délacement à partir d'une case void Afficher1(); ostream &operator<<(Piece B) ; }; void Piece::Afficher1(){ cout << "renseignement sur cette pièce " << *this << endl ; //ici il y a une erreur } ostream &operator<<(ostream &out, Piece B){ out << "ligne= "<<(B.getPiece())->Afficher() << endl; return out ; }
main:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 1> : error C2679: '<<' binaire*: aucun opérateur trouvé qui accepte un opérande de partie droite de type 'void' (ou il n'existe pas de conversion acceptable)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Case P1; P1.Afficher(); // çà marche Case P2(2,3,'C'); P2.Afficher(); // y a un souci
Partager