Bonjour,
Je souhaite réaliser des codes pouvant créer des ensemble de int et des ensemble de Combinaison, mes Combinaison étant une classe par exemple composé de int
Ma classe Ensemble a pour attribut :
1 2
| int taille;
type* tab; |
Ma classe Combinaison pour attribut :
1 2 3
| unsigned int nbElts;
int* elts;
unsigned int rapport; |
J'ai d'autres méthodes de classe etc,...
Mon accesseur au tableau de la classe ensemble a pôur prototype :
const type* obtenirElements(unsigned int& t) const;
Mon accesseur aux elements de la classe combinaison a pour prototype :
const int* Combinaison::lireElts(unsigned int& N) const
Je dispose d'une classe bandit qui a pour attribut :
1 2
| Ensemble<Combinaison> CG;
Ensemble<int> CS; |
Ainsi j'ai aussi des patrons de fonctions ,...
Dans ma classe bandit je souhaite Comparer une combinaison avec toutes les combinaisons de CG :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| unsigned int rapport,nbr,nbr_2;
if(CG.appartientA(C_alea))
{
cout << "vous avez gagné ";
const Ensemble<Combinaison>*tab_CG = lireEnsembleCG();
const Combinaison* CG_tab_2;
CG_tab_2=tab_CG->obtenirElements(nbr);
for(unsigned int i=0;i<nbr;i++)
{
if(CG_tab_2[i]==C_alea)
{rapport=CG_tab_2[i].lireRapport();}
//rapport=t.lireRapport();
}
return 1;} |
J'avais préalablement effectué ma surcharge d'opérateur de la classe Combinaison pour pouvoir comparer des ensemble et des combinaisons:
1 2 3 4 5 6 7 8 9 10 11
| bool Combinaison::operator ==(const Combinaison& C1)
{int i=0,k=0;
if (nbElts!= C1.nbElts)
return 0;
for(i=0; i<nbElts; i++)
{
if(elts[i]!=C1.elts[i])
return 0;
}
return 1;
} |
Ma question est dans mon code de la classe Bandit ou j'effectue CG_tab_2[i]==C_alea et là j'ai un erreur de compilation :
/home/me/POO/TP4/Bandit.cpp:84:20: error: passing const Combinaison as this argument of bool Combinaison::operator==(const Combinaison&) discards qualifiers [-fpermissive]
Je voudrais enfait accéder à l'indice pour lequel C_alea est égale à une combinaison de CG_tab car vu mon opérateur == mon programme se contente de dire si oui ou non C_alea est égale à une combinaison de l'ensemble<Combinaison>
Comment faire ?
Merci d'avance
Lucile
Partager