Bonjour,

Pourriez-vous m'aider sur la syntaxe d'un morceau de code consistant à définir un opérateur pour une classe template ? J'ai vérifier la syntaxe dans mon livre et ça devrait être correcte, mais mon compilateur me dit le contraire.

J'ai une classe template définie ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
template <typename Elem, size_t DIM = 10>
class Vecteur : public VecS <Elem, DIM>, virtual public Entite
Et dans cette classe template je déclare l'opérateur += ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
virtual Vecteur& operator += (const Vecteur &);
que je définis ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
template <typename Elem, size_t DIM>
Vecteur <Elem,DIM> & Vecteur<Elem,DIM>::operator += (const Vecteur & V)
{
    // Code ...
}
Mais j'ai une erreur à l'édition des liens, celui ci me dit que mon opérateur n'est pas définit ou je ne sais quoi ...

Auriez-vous une idée sur l'origine de l'erreur ?

merci :-)