Surcharge de []

Surcharge de [] - C++ - Programmation

Marsh Posté le 17-08-2007 à 10:46:05    

Bonjour,
 
Je n'arrive pas à surcharger l'opérateur [], voici mon code :
 

Code :
  1. class A
  2. {
  3. B &operator [](int i);
  4. std::vector<B *> var;
  5. };


 
Et le code de la surcharge :

Code :
  1. B &A::operator [](int i)
  2. {
  3. return var[i];
  4. }


 
L'erreur retourné par g++ :

invalid initialization of reference of type «B&" from expression of type «B*"


 
Merci d'avance...

Reply

Marsh Posté le 17-08-2007 à 10:46:05   

Reply

Marsh Posté le 17-08-2007 à 10:48:15    

bah c'est pas le bon type ...

Reply

Marsh Posté le 17-08-2007 à 11:37:19    

What about :

 
Code :
  1. class A
  2. {
  3. public:
  4. B &operator [](int i);
  5.   private:
  6. std::vector<B> var;
  7. };
  8. B &A::operator [](int i)
  9. {
  10. return var[i];
  11. }
 

ou alors si tu veux un vector<B*> , il te faut renvoyer un B*& masi c'ets moche


Message édité par Joel F le 17-08-2007 à 11:38:16
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed