the compiler can only guess the function u r calling by its arguments(not even from return type) so when you call derived::f(char) it looks for a function something like derived_f_char(in its symbol table) in essence there will be 2 vtable entries for f(char) and f(double)
i think this behavior is very logical in c++. --- In [email protected], Knowledge Seeker <[EMAIL PROTECTED]> wrote: > > Please look into > > http://www.parashift.com/c++-faq-lite/strange-inheritance.html#faq-23.9 > > Could someone describe in more detail why the function of the base class > is hidden. > > I think name mangling should not impose such a restriction, is it > deliberately made so in C++ language? > > > Cordially, > KnowledgeSeeker >
