I've got a little pb. with one of my classes. It's a Vector class.
Under root, I try :
root[1] RBVector v
root[2] v.ls()
root[3] (0,0,0) -> this is OK. (default ctor)
root[4] RBVector v1(3) -> ctor with size
*** Break *** segmentation violation
----
Here's a piece of code :
//_____________________________________________________________________________
RBVector::RBVector(void) : TObject()
{
  // Default constructor of a RBVector : dim = 3 ; all components = 0
  Int_t i ;
  pi = acos(-1.0) ;
  fSize = 3 ;
  fVector = new Float_t[3] ;
  if ( fVector == NULL )
  {
    cout << "<E> fVector is NULL in RBVector::RBVector(void) -
RBVector.CXX"
         << endl << flush ;
    exit(1) ;
  }
  for ( i = 0 ; i < fSize ; i++ ) fVector[i] = 0.0 ;
} // end of RBVector::RBVector(void)
//____________________________________________________________________________
RBVector::RBVector(const Int_t& n) : TObject()
{
  // Default constructor of a RBVector of dim n : all components = 0
  Int_t i ;
  pi = acos(-1.0) ;
  fSize = n ;
  fVector = new Float_t[fSize] ;
  if ( !fVector )
  {
    cout << "<E> fVector is NULL in RBVector::RBVector(Int_t) -
RBVector.C"
         << endl << flush ;
    exit(1) ;
  }
  for ( i = 0 ; i < fSize ; i++ ) fVector[i] = 0 ;
} // end of RBVector::RBVector(Int_t)
//____________________________________________________________________________
void RBVector::Copy(TObject& obj)
{
  // copy this to obj
  Int_t i ;
  TObject::Copy(obj) ;
  ((RBVector&)obj).fSize = fSize ;
  if ( ((RBVector&)obj).fVector )
    delete[] ((RBVector&)obj).fVector ;
  ((RBVector&)obj).fVector = new Float_t[fSize] ;
  for (i=0;i<fSize;i++)
    ((RBVector&)obj).fVector[i] = fVector[i] ;
}
---Am I doing a big error, or is there a problem with CINT ? (first choice I guess...)
Thanks for your help.
-- APHECETCHE Laurent (mailto:aphecetche@ganil.fr) GANIL, B.P. 5027, 14076, Caen Cedex 5, France Vox: +33 (0)2 31 45 45 85 - Fax: +33 (0)2 31 45 46 65 WWW: http://ganp03.in2p3.fr/nof/ & (perso.) http://www.mygale.org/~p0mp0n