RE:[Fwd: [ROOT] Problem compiling template

From: Masaharu Goto (MXJ02154@nifty.ne.jp)
Date: Wed Feb 21 2001 - 22:33:37 MET


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