Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

g++ 2.5.5 doesn't warn about inaccessible virtual base ctor

0 views
Skip to first unread message

Jamshid Afshar

unread,
Mar 2, 1994, 8:49:22 PM3/2/94
to
// g++ SHOULD BE giving an error for the code below marked "error:". Instead
// it accepts this invalid code.
// See ARM 12.6.2: "All sub-objects for virtual base classes are initialized
// by the ctor of the most derived class". This implies that the most
// derived class ctor must have access to the virtual base ctor.

class ForceLeafSterile {
friend class Sterile;
ForceLeafSterile() {}
};

class Sterile : private virtual ForceLeafSterile {
public:
Sterile() {}
Sterile(const char* /*blah*/) {}
};

class Illegitimate : public Sterile {
public:
Illegitimate() {} // error: can't access virtual base deflt ctor
Illegitimate(const char* /*blah*/)
: ForceLeafSterile() {} // error: can't access virtual base deflt ctor
Illegitimate(const Illegitimate&)
{} // error: can't access virtual base deflt ctor
};

0 new messages