Bonjour,
Voilà j'ai un probleme avec un template sur une classe qui herite déjà d'une autre.
la classe NodeVisitor herite elle meme virtuellement d'une autre, des fois que ça change qqch ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 template <typename T> class FindKindNodes : public osg::NodeVisitor
la compilation de mon template se passe bien, mais lors de l'utilisation, j'ai une erreur error C2664 :
L'erreur est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 FindKindNodes<osgParticle::ModularEmitter> fnn(); node->accept(fnn); //erreur ici
la méthode accept() a pour prototype exact :error C2664: 'osg::Node::accept'*: impossible de convertir le paramètre 1 de 'FindKindNodes<T> (__cdecl *)(void)' en 'osg::NodeVisitor &'
1> with
1> [
1> T=osgParticle::ModularEmitter
1> ]
Mon template herite bien de NodeVisitor ... alors pourquoi le compilateur refuse ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part virtual void accept(NodeVisitor& nv);
N'importe qu'elle idée sera la bienvenue :-)
Merci.
Partager