Hi all, I'm passing along an apparent rootcint oddity that Kyle Pope ran into when using root 2.21/02 to build some of our production code. He's distilled it down to 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 know it'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. When 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 see if 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 -- David Morrison Brookhaven National Laboratory phone: 516-344-5840 Physics Department, Bldg 510 C fax: 516-344-3253 Upton, NY 11973-5000 email: dave@bnl.gov
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:29 MET