rfg@ics.uci.edu (Ron Guilmette) (01/04/90)
I recently posted an item regarding the explicit and implicit conversion
of pointers to base class member functions to type `pointer-to-derived-
class-member-function'.
In that posting, I chided both G++ and Cfront for not behaving as I would
have expected.
It has since been pointed out to me that, in fact, G++ was probably
handling such cases in the best possible way (taking into account *all*
of the language rules, and the possibility that the user did not realize
that certain implicit casts might be applied).
So I stand corrected.
----------------------------------------
I am sad to say that I have not seen or recieved any follow-up on the
final question I posed in that previous posting however.
Bjarne? Michael? Andrew? I know that you guys aren't all on vacation! :-)
I'll repeat the question. It should be a simple one. Given:
struct base { void base_member (); };
struct derived : base { };
What is the "type" of `derived::base_member'? I assume that it must
be either type `void (derived::*) ()' or type `void (base::*) ()' but
which one is correct?
Have all the real "language lawyers" given up on this newsgroup? If so,
perhaps it is time that we got a comp.std.c++ group started. (Actually,
perhaps it is time anyway! Anybody know how one would go about formally
suggesting such a thing?)
// rfg