Hi Statis, You should remove the calls gSystem->Load("libPhysics"); from your code. then, only once do: gSystem->Load("libPhysics"); then .L mycode.C main() Rene Brun On Wed, 11 Sep 2002, Stathis Stefanidis wrote: > Hello , > > I am trying to pass a TVECTOR3 as an argument to function created by me , > and the thing seems not to work. I work on RedHat Linux v7.2 and the > 3.02/07 version of ROOT. > > The code looks like > > gSystem->Load("libPhysics"); > Float_t my_func(TVector3 p_one, TVector3 p_two); > > void main() > { > gSystem->Load("libPhysics"); > ...... > TVector3 *a = new TVector3(5.0, 6.0, 7.0); > TVector3 *b = new TVector3(2.0, 5.0, 2.0); > > Float_t c = my_func(a,b); > ....... > > } > > Float_t my_func(TVector3 *p_one, TVector3 *p_two) > { > > gSystem->Load("libPhysics"); > > Float_t k1 = p_one->Mag(); > Float_t k2 = p_two->Mag(); > > return sqrt(k1*k2); > } > > The error i get is : > > Error: Illegal Assignment to an undeclared symbol TVector3*p_one FILE:testing.C LINE:20 > Error: Illegal Assignment to an undeclared symbol TVector3*p_two FILE:testing.C LINE:20 > *** Interpreter error recovered *** > > What do i miss? > Thanks in advance. > > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:09 MET