Hi Thomas, With the current PRO version 2.25/03, you have to do: class A : public TObject { B *b; // i this the right way } class B : public TObject { Int_t n; //length of the array bytes Byte_t *bytes; //[n] an array with a variable number of entries } I am currently working on an important improvement in the Root I/O system. I will post more info in the very near future. With this new version, the split and no-split mode will be symmetric and will use the same code. You should be able to have a TArrayX *array as a class member and also STL containers. For the time being use the above work around. Rene Brun Thomas Bretz wrote: > > Hello, > > in the documetation you wrote: > In split mode, a data member cannot be a pointer to an array of basic > types. A variable size array must be encapsulated inside another object > derived by TObject. > > What does this mean? > > Eg, if I have: > ------------------------------- > class A : public TObject > { > B *b; // i this the right way > B c; // or this? > } > > class B : public TObject > { > Byte_t *bytes; // an array which contains a variable number of > entries at runtime > } > ------------------------------- > > Can I write class B now in a branch with splitleven=1? Does this mean, > that the only problem to write a TArrayC with splitlevel=1 is that it > isn't derived from TObject? > > Thanks, > Thomas.
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:37 MET