John, it must be INSIDE the class definition.
-- Fons
On Fri, 2003-06-20 at 16:18, Dr. John Krane wrote:
> Sorry, the actual error stream shows that ClassDef is *failing*, not
> that it is ignored:
>
> Error in <ObjDate>: ObjDate inherits from TObject but does not have its
> own ClassDef
> In file included from /home/jkrane/treemaker/ObjDate.cpp:2,
> from /home/jkrane/treemaker/tfe4_16.h:29,
> from /home/jkrane/treemaker/tfe4_16.cxx:13:
> /home/jkrane/treemaker/ObjDate.h:10: parse error before `public'
> /home/jkrane/treemaker/ObjDate.h:10: virtual outside class declaration
> /home/jkrane/treemaker/ObjDate.h:10: non-member function `TClass* IsA()'
> cannot
> have `const' method qualifier
> /home/jkrane/treemaker/ObjDate.h: In function `TClass* IsA()':
> /home/jkrane/treemaker/ObjDate.h:10: `ObjDate' undeclared (first use this
> function)
> /home/jkrane/treemaker/ObjDate.h:10: (Each undeclared identifier is
> reported
> only once for each function it appears in.)
> /home/jkrane/treemaker/ObjDate.h:10: parse error before `::' token
> /home/jkrane/treemaker/ObjDate.h:10: warning: no return statement in
> function
> returning non-void
> /home/jkrane/treemaker/ObjDate.h: At global scope:
> /home/jkrane/treemaker/ObjDate.h:10: virtual outside class declaration
> /home/jkrane/treemaker/ObjDate.h:10: virtual outside class declaration
> /home/jkrane/treemaker/ObjDate.h: In function `void
> StreamerNVirtual(TBuffer&)':
> /home/jkrane/treemaker/ObjDate.h:10: parse error before `::' token
> /home/jkrane/treemaker/ObjDate.h: At global scope:
> /home/jkrane/treemaker/ObjDate.h:12: `struct ObjDate' used prior to
> declaration
> In file included from /home/jkrane/treemaker/tfe4_16.h:29,
> from /home/jkrane/treemaker/tfe4_16.cxx:13:
>
>
> -----------------------
>
> Hi,
>
> Has anybody had the problem where ClassDef is correctly in your class
> but it is completely ignored by root? When I .L ObjDate.cpp, I get
>
> Error in : ObjDate inherits from TObject but does not have its
> own ClassDef
>
> ...but it does! From my header:
>
> #ifndef ObjDate_H
> #define ObjDate_H
> #include "TObject.h"
> // define as v1
> ClassDef(ObjDate,1)
> class ObjDate : public TObject {
> public:
> ObjDate();
>
> ...etc.
>
> Could there be any reason for this behavior?
>
> - John
--
Org: CERN, European Laboratory for Particle Physics.
Mail: 1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248
WWW: http://root.cern.ch/~rdm/ Fax: +41 22 7679480
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET