[template] invalid const_cast
Bonjour,
j'ai une methode avec un parametre:
Code:
1 2 3 4 5 6 7
| template<class T>
typename A<T>::N* A2<T>::insert(typename A<T>::N &n, const A<T> &a)
{
//...
const A2 *q = const_cast<const A2 *>(&a);
//...
} |
Mais le compilateur m'affiche ceci:
invalid const_cast from type `const A<int>*' to type `const A2<int>*'
Pouvez-vous m'expliquer pourquoi?
J'ai reussi a regler le probleme en remplacant
Code:
const A2 *q = const_cast<const A2 *>(&a);
par ceci:
Code:
const A2 *q = dynamic_cast<const A2 *>(&a);
Mais est-ce la meilleur solution?
Merci d'avence.