Problème de cast avec template

Résolu
xkamen Messages postés 26 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 31 janvier 2008 - 5 oct. 2006 à 12:35
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 - 5 oct. 2006 à 17:18
Bonjour,

Je voudrais travailler avec des templates. J'ai créé une classe template<class T> Matrix; et je voudrais savoir comment réaliser un cast dans mon programme entre une matrice réel Matrix<float> et une matrice entière Matrix.

Un exemple que je voudrais pouvoir faire :
Matrix M1;
Matrix<float> M2 = Matrix<float>(M1);

Comment le programmer dans ma classe template ?

J'attends rapidement une réponse pour pouvoir résoudre ce problème.
Merci.

3 réponses

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
5 oct. 2006 à 17:18
Template <class T>

class Matrix

{

...

Template <class U>

Matrix<T> & Matrix(Matrix & _which);


...

};
3
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
5 oct. 2006 à 14:07
Salut,
il faut que tu créé un opérateur de copie avec les types des paramètres templates explicites.

TuRn3r
0
xkamen Messages postés 26 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 31 janvier 2008
5 oct. 2006 à 16:42
Salut,
Dois je le faire pour tous les types ? C'est à dire :

{
  template<class T> Matrix(Matrix<float>& m) {...}
  template<class T> Matrix(Matrix& m) {...}
  template<class T> Matrix(Matrix<char>& m) {...}
  ... // etc
}

Xavier
0
Rejoignez-nous