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