Bonjour,
Dans le cas ou l'on surcharge des operateurs qui sont des methodes "friend" de la classe il faut ecrire le code dans un fichier .cpp a part. Ce que je ne comprends pas c'est comment si l'on utilise les templates inclure ce code pour qu'il soit correctement vu?...
Car je fais un #include "<nomdefichier>.tpp" ce qui ne pose pas de probleme et me permet d'effectuer la declaration du code de facon separer et de ne pas tout avoir dans le .h
En revanche j'obtiens a la compil un Warning:
..._Stype.h:193: warning: friend declaration `_Stype<T> operator+(const _Stype<T>&, const _Stype<T>&)' declares a non-template function
ce qui se traduit dans le programme de test(main):
...main.cpp:129: undefined reference to 'operator*(_Stype<float> const&, _Stype<float> const&)'
et par consequent comme il ne comprends pas ou chercher la fonction ou quoi lui passer au linkage j'ai ca:
:-1: error: collect2: ld returned 1 exit status
Donc si qq1 comprends comment on peut faire je suis ouvert a toutes suggestion.
Merci d'avance.
