http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60565
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to patrick from comment #1) > Er, sorry, the call to "foo ()" within main ought to be "B::foo ()". OK, in that case you need to fix the declaration of B::foo() if you want to call it. I think G++ is ignoring the inconsistent declaration of B::foo(). I'm not sure if that's correct, or whether it should give an error at that point.