Hello Gora, Thank you for reporting this problem. I'll fix this in cint5.14.78. Masaharu Goto >Date: Tue, 20 Feb 2001 04:10:35 +0000 >From: Gora Mohanty <gora@coyote.ucr.edu> >Reply-To: cern-root@listbox4.cern.ch >To: roottalk@pcroot.cern.ch >Subject: [ROOT] Problem compiling template classes with multiple arguments. > >Hello, > I am stumped while trying to compile a class with more than one template >argument. I have made up ClassDefTT, ClassDefTT2, ClassImpTT2 macros in >analogy to the corresponding ones for the single-argument template classes. >Everything almost works, except that the declaration of a friend operator >function seems to exercise a bug in CINT. A trivial example that reproduces >the problem is attached in several files: test.h, test.cxx, ClassDefTT.h, and >LinkDef.h. These compile and work under g++. I am using ROOT v3.00.02 (also >tried 3.00.05) on a Linux SUSE 6.1 box, upgraded to the 2.4.1 kernel. > > The reason that I am fairly sure that this is a CINT bug is that if I give >a default argument to the class U, e.g., replace the third line in the test.h >file with > template<class T, class U=T> class A; >and replace all A<T, U> with A<T> (so that U now having the default value >above), rootcint correctly generates the CINTDict file. The rootcint command >line is > rootcint -f CINTDict.cxx -c -p -I. -I${ROOTSYS}/include test.h LinkDef.h >The messages I get from rootcint are, >class A<int,int> in test.h line 9 original base of virtual func >Note: Link requested for undefined class const FILE: LINE:0 >Note: Link requested for undefined class int>operator+<>(constA<int,int>&,int&) FILE: LINE:0 >Class const: Streamer() not declared >Class const: ShowMembers() not declared >Class int>operator+<>(constA<int,int>&,int&): Streamer() not declared >Class int>operator+<>(constA<int,int>&,int&): ShowMembers() not declared >Class int>operator+<>(constA<int,int>&,int&): Class_Name() and initialization object not declared > >Thanks for any help. > >Regards, >Gora
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:37 MET