Explizite Instanzierung von Templates
-
Hallo,
ich möchte in meinem Programm explizite Instanzierung von Templates verwenden. Ich habe also (unter anderem) die drei Dateien "base_tree.h"
#ifndef BASE_TREE_H_ #define BASE_TREE_H_ ... template<class N, class C> class Base_Tree { ... }; #endifmit der Definition des Klassentemplates Base_Tree, "base_tree_def.h"
#ifndef BASE_TREE_DEF_H_ #define BASE_TREE_DEF_H_ #include "base_tree.h" ... template<class N, class C> Base_Tree<N, C>::Base_Tree(const int num_sites_para, const int num_mutation_rates) { ... } ... #endifmit der Definition der Methoden von Base_Tree, und "base_tree.cpp"
#include "standard.h" #include "base_tree_def.h" using namespace std; class A {}; template Base_Tree<A, A>;wo ich versuche Base_Tree explizit zu instanzieren.
Als Fehlermeldung erhalte ich nun
../src/tree/base_tree.cpp:10: error: expected unqualified-id before ‘;’ token
bezüglich der Zeile
template Base_Tree<A, A>;Weiss jemand, was hier schief geht?
-
Vielleicht eher so?
Base_Tree<A, A> ATree(0,0); //oder meinst Du sowas? template class Base_Tree<A, A>;
-
Versuchs mal mit
template class Base_Tree<A,A>;PS: www.gidf.de - hat grademal 10 sekunden gedauert das rauszufinden...
-
pumuckl schrieb:
Versuchs mal mit
template class Base_Tree<A,A>;Danke, das war es.