Erreur de segmentation surcharge opérateur []
Bonjour,
Je suis en train de travailler sur des listes chainées en C++ avec template et j'ai besoin de surcharger l'opérateur [] afin de pouvoir accéder à la valeur du i-ème maillon de ma liste si j'écris "Liste[i-1]" par exemple.
Cependant j'obtiens une erreur de segmentation que je ne parviens pas à résoudre lors de l'exécution de mon programme.
Voici mon code :
Liste.h :
Code:
1 2 3 4
|
//Début...
T& operator[](int) const;
//Fin... |
Liste.inl :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
//Début...
template<class T>
T& Liste<T>::operator[](int i) const
{
//Simple essai avec i = 0
//Lignes qui posent problèmes
(*this)[i] = m_tete->m_data;
return (*this)[i];
}
//Fin... |
et enfin main.cc :
Code:
1 2 3 4
|
//Début...
cout << "Liste[0] : " << Liste[0] << endl; //Problème : erreur de segmentation
//Fin... |
Toutes vos suggestions sont les bienvenues ! :) Merci d'avance