[comp.lang.c++] G++ is fine, but Cfront looks a little broke

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