Réponse acceptée !
Ce n'est pas possible. Tu es obligé de passer par une vérification post compilation (ou peut être en testant boost model checking, mais je ne l'ai jamais testé).
En utilisant un dynamic_cast ou un typeof, tu peux vérifier cette contrainte.
Non testé:
Code C/C++ :
template <class T>
class C
{
C(T obj)
{
assert(dynamic_cast<M*>(&obj));
}
};
________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question