Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!usc!orion.oac.uci.edu!uci-ics!ics.uci.edu!rfg From: rfg@ics.uci.edu (Ron Guilmette) Newsgroups: comp.lang.c++ Subject: G++ is fine, but Cfront looks a little broke Message-ID: <25A2A4FF.14823@paris.ics.uci.edu> Date: 4 Jan 90 01:21:03 GMT Reply-To: rfg@ics.uci.edu (Ron Guilmette) Organization: University of California, Irvine - Dept of ICS Lines: 35 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