Thank you for reporting the problem. I fixed this in cint5.13.90.
Masaharu Goto
===========================================================
Hi all,
I'm passing along an apparent rootcint oddity that Kyle Pope ran into when usi
ngroot 2.21/02 to build some of our production code. He's distilled it down t
o a
single header file, so it should be a reasonable test case. In a nutshell, a
base class declares a virtual function with the following signature (yes, I kn
owit's more common to say `const char *'):
virtual void write(char const *) const;
and a derived class overrides this with the following declaration:
void write(char const*) const;
note the lack of a space between `const' and `*' in the second signature. Whe
n
fed this header, rootcint reports:
mynode_dict.cc:127: no matching function for call to `Bar2::write (char)'
mynode.h:23: candidates are: Bar2::write(const char *) const
It seems to have elided the `const*' completely out of the declaration in the
derived class and thinks it's looking for a signature to match `char'.
We have simple workarounds to be sure, but it might be worth a quick look to s
eeif rootcint can be taught to grok this.
Kyle's example code can be grabbed from the PHENIX computing pages:
http://www.phenix.bnl.gov/software/projects/root/FooBar.tar.gz
Cheers,
Dave