Hi,
> bRichCalNrLeaves is not declared in the scope of the offending line,
> regardless of the value of kRichCal. The CINT error message does not
seem
> to be wrong. In my opinion, the problem is the missing error message in
> case kRichCal==true.
>
> Christoph
At http://root.cern.ch/root/Cint.phtml?limitations I read:
+ Function scope
Variables can be declared in global or function scope.
Unlike ANSI, local variable has function scope. If a local variable is
once declared in a function, it will be alive until execution gets out
from the function even if it is declared within sub-block. In ANSI C,
local
variables have block scope.
void func()
{
int i;
for(i=0;i<10;i++) {
int n; /* block scope */
printf("n=%d\\n",n++);
}
/* n is still alive here in cint, n should be already
dead in ANSI C */
This explains why CINT does NOT give an error message if kRichCal==true.
However I still don't understand why Thomas DOES get an error message for
kRichCal==false. Maybe it is related to the problem I reported
http://root.cern.ch/root-bugs/Closed?id=544;expression=rutger;user=guest#followup6
(i.e. bug report 544). Masaharu?
Rutger
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:21 MET