pb d'operateur

pb d'operateur - C++ - Programmation

Marsh Posté le 23-07-2003 à 15:11:42    

salut,
 
pour une classe vecteur j'ai defini l'operateur [] pour acceder aux composantes. Le pb est lorsque je manipule des const vecteurs, j'ai l'erreur suivante lors de la compilation : "no operator defined which takes a left-hand operand of type const class ...". Pourquoi ?
 
voici comment j'ai defini mon operateur:

Code :
  1. T operator [] (int i)
  2. {
  3. if (i > 1 || i < 0)
  4. throw std::out_of_range("..." );
  5. else
  6. return(i == 0 ? x : y);
  7. }


 
merci


Message édité par hellbilly le 23-07-2003 à 15:12:04
Reply

Marsh Posté le 23-07-2003 à 15:11:42   

Reply

Marsh Posté le 23-07-2003 à 15:24:47    

be nsi t'as pa d'operateur const tu risque ap de pouvoir l'utiliser avec un vecteur const:
 

Code :
  1. template<class T> class vecteur
  2. {
  3.    public
  4.    T & operator[](int i);
  5.    const T & operator[](int i) const;
  6. }


Message édité par LetoII le 23-07-2003 à 15:25:04

---------------
Le Tyran
Reply

Marsh Posté le 23-07-2003 à 15:32:36    


 
merci  :jap:

Reply

Marsh Posté le 23-07-2003 à 17:09:47    

autre conseil: à moi d'en avoir besoin, utilise un type unsigned pour ton i

Reply

Sujets relatifs:

Leave a Replay

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