Bonjour ,
voici le bout du code :
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 ;
					}
l'erreur :
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)
main:
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