Templates, pointeurs et égalités
Bonjour à tous,
J'ai un petit souci de compilation que je n'arrive pas à comprendre. J'ai une classe "template" ARRAY que j'utilise afin de gérer un tableau de pointeurs de type quelconque.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| template<class T>
class ARRAY
{
// mon tableau de pointeurs
T *_elements;
// le nombre de pointeurs dans le tableau
int _size;
// la fonction qui retourne l'indice d'un pointeur passé en param.
int _search(const T &element) const
{
for (int i=0; i<_size; i++)
{
if (_elements[i] == element) // ligne où apparaît l'erreur de compilation
return i;
}
}
} |
J'instancie ce tableau de la manière suivante, afin d'avoir un tableau de pointeurs sur des objets de type MaClasse :
Code:
ARRAY<MaClasse*> _monTableau;
Or, à la compilation j'ai le message suivant :
no match for 'operator=='
Je ne comprends pas pourquoi il n'est pas capable de comparer _elements[i] et element sachant qu'il s'agit de 2 pointeurs tout bête !?
Merci d'avance pour votre aide, n'hésitez pas s'il vous faut plus de précisions...