fonction template

fonction template

by Julius Emile Girardin -
Number of replies: 1

Bonjour,

pour l'exercice 1 de la série 22 sur les templates, j'ai défini la fonction suivante:

template<typename Type>

Matrice<Type> lire_matrice(size_t n,size_t m, istream& entree){

//...

return M;

}

Plus loin dans le code pour l'opérateur ">>", j'ai écrit:

template <typename Type>

istream& operator>>(istream& entree,Matrice<Type>& M){

size_t n(M.size()),m(M[0].size());

M=lire_matrice(n,m,entree);

return entree;

}

Maintenant le compilateur me dit:

screenshot erreur compilateur

J'ai d'abord mis les .size() directement dans l'appel de lire_matrice (sans les déclarer explicitement comme size_t) mais le compilateur n'a pas aimé non plus:

matrices.cc:102:16: error: no matching function for call to 'lire_matrice(std::vector<std::vector<double> >::size_type, std::vector<double>::size_type, std::istream&)'


C'est pareil quand je déclare la fonction avec des références (constantes) sur des size_t, ca ne compile pas non plus. Est-ce quelqu'un voit mon erreur?


Merci d'avance


In reply to Julius Emile Girardin

Re: fonction template

by Deleted user -

Et si tu résous explicitement la fonction avec lire_matrice<Type> au moment de l'appel?