Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!UUNET.UU.NET!kewill!bryan From: kewill!bryan@UUNET.UU.NET (Bryan Boreham) Newsgroups: gnu.g++.bug Subject: Multiple inheritance bug in G++ 1.35.1- Message-ID: <8906192035.AA23201@kewill.uucp> Date: 19 Jun 89 20:35:48 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 44 Example: kewill% cat mibug.C class Object {}; class VObject : public Object {}; class View: public VObject {}; class LineItem : public VObject { public: void Enable(); }; class CollectionView: public View { public: int selection; }; class Menu : public CollectionView { int selection; public: void Init(); void GetTitle() {} }; void LineItem::Enable() {} void Menu::Init() { selection= -1; } kewill% /usr/local/lib/gcc-cc1plus -version mibug.C -quiet -noreg -o /dev/null GNU C++ version 1.35.1- (68k, MIT syntax) compiled by GNU C version 1.35. In method void Menu::Init (): mibug.C:26: request for member `selection' is ambiguous in multiple inheritance lattice I pared this down from 96K of code; the bug goes away if you change almost anything in the above. It does catch G++ out in three files of ET++. The temporary work-round is to replace "selection" with "this->selection". Bryan.