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:
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