Hi, I am using ROOT 3.02.07 on both Windows and Linux. I was just trying to introduce a new template class, and I started to run into problems. I went back to the user's guide and decided to implement the simple example, where I just define a header file - in this case rather than MyClass1.h I call it Relation.h: #ifndef RELATION_H #define RELATION_H template <typename T> class Relation { private: T fA; public: Relation() {}; ~Relation() {}; ClassDefT(Relation,1) }; ClassDefT2(Relation,T) ClassImpT(Relation,T) #endif My LinkDef file is: #ifdef __CINT__ #pragma link off all globals; #pragma link off all classes; #pragma link off all functions; #pragma link C++ class Relation<int>+; #endif This compiles just fine on Linux using gcc 2.91. However, it fails on Visual C++ 6.0. I am not sure if this is a deficiency in the VC++ compiler or an error on my part. The first error message is: commonRootData_rootcint.cxx(17) : error C2143: syntax error : missing ';' before '<' Which refers to this line in the rootcint file: template <> TBuffer &operator>><int >(TBuffer &buf, Relation<int> *&obj) Any suggestions would be welcome. Thanks, Heather
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:14 MET