Hi, Is the following expected to work (in a tree)? An (abstract) base class with no data members and a derived class with basic types + an enum: class Base{ /* ... */ ClassDef(Base, 0) }; enum EBlahType {kA = 0, kB}; class Derived : public Base{ /* ... */ EBlahType fBlahType; ClassDef(Derived, 1) }; LinkDef: #ifdef __CINT__ /* link offs */ #pragma link C++ Base+; #pragma link C++ enum EBlahType+; #pragma link C++ Derived+; #endif I am having two problems: First: When writing Derived to a tree (via a macro), I get an error message of the form: "Error in <TClass::New>: cannot create object of class EBlahType" The interpreter tab completes EBlahType and knows the right enumeration for its constants. Second: /* Get TTree* t from a file */ root [5] t->Scan(); Error in <TObjArray::At>: index -2 out of bounds (size: 16, this: 0x0866e5c0) If I give Scan() specific arguments, it seems to work. The enum type has the correct values. Could the base class be causing this problem? I notice that it is a branch of my tree, and actually takes up a suprising amount of space, so perhaps I am doing something wrong. Any ideas/advice? Mike Kordosky -- Graduate Research Assistant // High Energy Physics Lab kordosky@hep.utexas.edu // University of Texas at Austin kordosky@fnal.gov // ph: (512) 471-8426 (RLM Lab, Office) (512) 475-8673 (ENS Lab)
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:53 MET