Re: TObjArray data members

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Wed Aug 04 1999 - 17:32:04 MEST


Or in case you want to create a TObjArray with a specific default size do:

// obj.C
class TMvlTry {

public:

  TMvlTry() : fArr1(4), fArr2(5) {}
  ~TMvlTry() {}
  void Print() { printf("default sizes: fArr1(%d), fArr2(%d)\n",
                 fArr1.GetSize(), fArr2.GetSize()); }

protected:

  TObjArray fArr1;
  TObjArray fArr2;
};


root [0] .L obj.C      
root [1] TMvlTry a     
root [2] a.Print()
default sizes: fArr1(4), fArr2(5)
root [3] .q


Cheers, Fons.



Rene Brun wrote:
> 
> Hi Marco,
> C++ is not Fortran! replace:
>   TObjArray fArr1(4);
>   TObjArray fArr2(4);
> 
> by
>   TObjArray fArr1[4];
>   TObjArray fArr2[4];
> 
> Rene Brun
> 
> Marco van Leeuwen wrote:
> >
> > Hi all,
> >
> > I am experiencing a problem with TObjArray data members (in anm interpreted
> > class). Fortunately, it reproduces, using the follwing simple files:
> >
> > TMvlTry.h:
> >
> > class TMvlTry {
> >
> > public:
> >
> >   TMvlTry() {;}
> >   ~TMvlTry() {;}
> >
> > protected:
> >
> > TObjArray fArr1(4);
> >   TObjArray fArr2(4);
> > };
> >
> > ---------------------------------------------------------
> >
> > TMvlTry.C:
> >
> > #include "TMvlTry.h"
> >
> > ---------------------------------------------------------
> >
> > Now at the ROOT prompt, enter:
> > .L TMvlTry.C
> > TMvlTry a
> >
> > Et voila: seg fault....
> >
> > What am I doing wrong?????
> >
> > Thanks,
> >
> > Marco van Leeuwen

-- 
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 7677910



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:37 MET