Bonjour,
J'essaye de créer une classe de matrice à partir d'un std::map<std::pair<I,I>,T>
avec par exemple I := unsigned int et T := double
Lorsque je compile, j'ai l'erreur suivante:
Voici ma fonction:error C2923: 'std::pair' : 'row' is not a valid template type argument for parameter '_Ty1'
J'utilise ma classe cette manière dans mon programme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 template<class T,class I> inline T gMatrix<T,I>::operator() (I row, I col) const { if (row >= rows_ || col >= cols_) throw ("Matrix subscript out of bounds"); //we look if the element already exists std::map<std::pair<I, I>, T>::iterator iter = data_.find(std::pair<row,col>); if(iter != data_.end()) return iter->second; //yes, we return it else return 0; }
Je ne comprends pas pourquoi ça ne fonctionne pas!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 gMatrix<double,unsigned int> m(10,10); std::cout << m(0,0);
Merci de votre aide
Cordialement,
Rodrigue
Partager