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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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...