Bonsoir,

Mon code est le suivant:
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
 
#include <iostream>
#include <string>
#include <vector>
using namespace std;
 
typedef string Forme   ;
typedef string Couleur ;
 
class Brique
{
private:
  Forme   forme   ;
  Couleur couleur ;
 
public:
Brique(Forme f, Couleur c)
{forme=f;
 couleur=c;
};
ostream& afficher(ostream& sortie) const {
	if(couleur.empty()==false){
	sortie<<"("<<forme<<", "<<couleur<<")";}
	else{
	sortie<<forme;}
	return sortie;
}
 friend std::ostream& operator <<(std::ostream&, const Brique&); 
};
std::ostream& operator <<(std::ostream& Stream, const Brique& Obj){
    Obj.afficher(Stream);
    return Stream; 
}
class Construction
{
  friend class Grader;
  public: vector<vector<vector<Brique>>> contenu;
  public:Construction(Brique b):contenu (1, vector<vector<Brique>>(1,vector<Brique> (1, b))){
  }
  ostream& afficher(ostream& sortie) const {
		for(int i(0); i < (int)contenu.size(); i++) {
      for(int j(0); j < (int)contenu[i].size(); j++) {
          for(int k(0); k < (int)contenu[i][j].size(); k++) {
                   contenu[i][j][k].afficher(sortie);}}}
    return sortie;
 
}
void operator^=(Construction const& b)
  {   
	  for(int i(0); i < (int)contenu.size(); i++) {
		  contenu.push_back(b.contenu[i]);
		  }
 
  }     
 
};
 std::ostream& operator <<(std::ostream& Stream, const Construction& Obj){
    Obj.afficher(Stream);
    return Stream; 
}
 
 
int main()
{
  // Modèles de briques
  Brique toitD("obliqueD", "rouge");
  Brique toitG("obliqueG", "rouge");
  Brique toitM(" pleine ", "rouge");
  Brique mur  (" pleine ", "blanc");
  Brique vide ("                 ", "");
 
cout << toitD;
//Tester Construction 
Construction c(mur);
Construction c1(toitD);
c^= c1;
cout<< c;
  return 0;
}
Mon programme compile bien, mais il se plante au moment de l'exécution..
J'ai un doute concernant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
void operator^=(Construction const& b)
  {   
	  for(int i(0); i < (int)contenu.size(); i++) {
		  contenu.push_back(b.contenu[i]);
		  }
 
  }
Avez-vous une idée ? Est-ce je dois modifier la taille de "contenu" ?


Merci d'avance pour votre aide.