[C++] Référence

Résolu/Fermé
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 - 22 avril 2010 à 12:44
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 - 22 avril 2010 à 14:46
Bonjour tout le monde. Un soucis de références en classe :

J'ai deux classes : Contact et Liste : et liste contient donc une liste d'Objets "Contact"

Voici les arguments de Liste :

public :
          Contact* liste;


Les déclarations dans Mon main :

Liste correcte("initial.csv", true);
Liste  globale("global.csv", false);


Mes initialisations fonctionnent et pour affecter un contact a un autre, je tente cela :

correcte[0] = globale[0];


Voici mon opérateur= :

Contact& operator= (const Contact & C)
{
       lastname  = C.getLastname();
       firstname = C.getFirstname();
       fullname  = C.getFullname();
                 
       return (*this);
}


Visiblement, ca ne marche pas... Voici mon erreur :

passing 'const Contact' as 'this' argument of 'Contact& Contact::operator=(const Contact&)' discards qualifiers

Quelqu'un a une idée, je rame un peu là, j'ai plus vraiment l'habitude des références pointeurs, etc etc etc...

1 réponse

azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 75
22 avril 2010 à 14:46
Sujet résolu, j'avais oublié de déclarer mon operator[] de Liste en non constant !

Contact& operator[] (unsigned int n)
{
       return liste[n];
} 


Have a Nice Day !!!
0