Hello, i'm trying use a QIO<U> (U being the typename) template class that has a TryCast(W* uptr) template member function in the ROOT interpreter. Here is a part of my QIO.h file: template <typename U> class QIO { private: template <typename V,typename W> V* TryCast(W* uptr) const; }; #include "QIO.cxx" Here is a part of my QIO.cxx file: template <typename U> template <typename V,typename W> V* QIO<U>::TryCast(W* uptr) const { V* tobuf=dynamic_cast<V*>(uptr); if(!tobuf){ cout << "ERROR:'" << typeid(W).name() << "' is not derived from '" << typeid(V).name() << "'\n"; throw 1; } return tobuf; } When I type in the ROOT interpreter: #include "QIO.h" QIO<TH1F> a; I get: no such template V* QIO<TH1F> FILE:QIO.cxx LINE:48 Syntax error FILE:QIO.cxx LINE:48 *** Interpreter error recovered *** Line 48 is the first line i've pasted for the file QIO.cxx When I compile my code, everything works perfectly, but it doesn't work with the ROOT interpreter. How can I make it to work? Pierre-Luc Drouin SNO, Carleton University
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:01 MET