Re: [ROOT] TClonesArray of TObjString's

From: Rene Brun (Rene.Brun@cern.ch)
Date: Tue Jul 04 2000 - 13:08:31 MEST


Hi Steve,
You do not use correctly the class constructor when you enter objects
in the TClonesArray. I have modified your test macro below.

Rene Brun


void test() {

  TClonesArray *farray = new TClonesArray("TObjString", 405);
  
  TClonesArray &larray = *farray;
  new (larray[farray->GetEntries()]) TObjString("1ststring"); 
  cout << farray->GetEntries() << endl;
  new (larray[farray->GetEntries()]) TObjString("2ndstring");;
  cout << farray->GetEntries() << endl;

  TObjString *rstring;
  rstring = (TObjString*)larray[1];
  cout << rstring->String() << endl;
  cout << rstring->GetName() << endl;
}


Steve Udriot wrote:
> 
> Hello rooters,
> 
> I am building a TClonesArray of TObjString's. When I want the character
> string of a TObjString in the array, I get a segmentation fault. Can
> anyone help me with this ? What do I do wrong ?
> 
> Thanks,
> 
> Steve
> 
>   --------------------------------------------------------------------------------
> 
>                 Name: test.C
>    test.C       Type: Plain Text (text/plain)
>             Encoding: 7bit
> 
>                              Name: Steve.Udriot.vcf
>    Steve.Udriot.vcf          Type: VCard (text/x-vcard)
>                          Encoding: 7bit
>                       Description: Card for Steve Udriot



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:29 MET