Re: [ROOT] No access to global varibles after gROOT->Reset()...

From: Rene Brun (Rene.Brun@cern.ch)
Date: Wed Jan 22 2003 - 16:40:42 MET


Hi,

The main function of gROOT->Reset() is precisely to get rid of global
variables. This should never be called in a named macro.

Rene Brun

Shitov Yuriy wrote:
> 
> Hi, ROOTers
> 
> I found, that I can't access global variables in the script after
> gROOT->Reset().
> 
> E.g.  the  script:
> 
> const Int_t sz=20;
> 
> void tt() {
>   gROOT->Reset();
>   cout << "sz=" << sz << endl;
> }
> 
> gives me the following error:
> 
> root [27] .x tt.C
> Error: Symbol sz is not defined in current scope  FILE:tt.C LINE:5
> sz=(class G__CINT_ENDL)141210120
> *** Interpreter error recovered ***
> 
> and  works well without line gROOT->Reset();
> 
> Is it normal or not?
> 
> My computer enviroment:
> 
> [yuriy@pcnu34 4bb]$ uname -a
> Linux pcnu34.jinr.ru 2.2.14-5.0 #1 Tue Mar 7 21:07:39 EST 2000 i686
> unknown
> [yuriy@pcnu34 4bb]$ gcc -v
> Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/specs
> 
> gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
> 
>  ROOT   Version   3.03/09 30 September 2002
> Compiled for linux with thread support.
> CINT/ROOT C/C++ Interpreter version 5.15.58, Sep 16 2002
> 
> Also at start time root prints error message:
> [yuriy@pcnu34 4bb]$ root
> Error in <TUnixSystem::DynamicPathName>: GX11TTF[.so | .sl | .dl | .a]
> does not
> exist in .:/cern/root/pro/lib
> 
> Best wishes,
> Yuriy.



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:08 MET