OVH Cloud OVH Cloud

template en paramètre

1 réponse
Avatar
Wang Zangkun
Bonjour,

j'ai définit une classe template Matrice, déclaré comme suit :

template <class T, class OpPlus, class OpFois, T nullPlus, T nullFois>
class Matrice {
...
//friend istream& operator>>(istream& is, Matrice<T, OpPlus, OpFois,
nullPlus, nullFois> mat);
}

(note : OpPlus et OpFois sont des objets fonctions)

J'ai donc voulu redéfinir les opérateurs >> et << pour les utiliser avec
cin et cout.
J'ai déclaré ces fonctions comme ça :

istream& operator>>(istream& is, class Matrice<class T, class OpPlus,
class OpFois, T nullPlus, T nullFois> mat) {
...
}

Mais bien sur ça ne compile pas. J'ai essayé plusieurs versions (sans
mettre les class), et pas moyen. Quelqu'un aurait-il une idée ?

(c'est pour un tp de c++)

merci

1 réponse

Avatar
Fabien LE LEZ
On Wed, 23 Nov 2005 23:40:51 +0100, Wang Zangkun
:

J'ai déclaré ces fonctions comme ça :

istream& operator>>(istream& is, class Matrice<class T, class OpPlus,
class OpFois, T nullPlus, T nullFois> mat) {


Tu n'as pas de manuel de C++ ?

template <class T, class OpPlus, class OpFois, T nullPlus, T nullFois>
istream& operator>> (istream& is, Matrice<T, OpPlus, OpFois, nullPlus,
nullFois> &mat)