Bonjour,
Histoire de vérifier si je comprenais bien les mécanismes (du moins, certains) de la métaprogrammation, j'ai décidé de faire une classe permettant de stocker différents types de données, une sorte d'union qui accepte les types avec constructeur(s) et destructeur.
(Oui, je sais que boost::variant existe...)
Je me suis inspiré de std::tuple pour pondre le code joint.
Le problème, c'est que je ne peux pas le compiler.
Visiblement, cela vient des spécialisations des templates, ou encore de leurs appels.
g++ (4.6.1), sous Linux, râle de cette manière :
ou encore :erreur: invalid explicit specialization before ‘>’ token
erreur: fermetures de patrons de classe ne sont pas explicitement spécialisées
erreur: template-id (...) for (...) does not match any template declaration
Pourtant je n'ai pas l'impression d'avoir fait d'erreur de syntaxe.erreur: expected primary-expression before ‘>’ token
erreur: expected primary-expression before ‘)’ token
Ou alors il y a des restrictions pour les fonctions membres templates de classes templates ?
Bref, si vous avez des remarques, que ce soit sur mon problème ou sur mon code, je suis preneur.
Partager