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