Created on 1998-10-07.00:00:00 last changed 171 months ago
Rationale:
This is not a defect in the Standard. The example is already illegal. See [member.functions] paragraph 2.
Proposed resolution:
Clarify the wording to make the example illegal.
In 17.3.4.4/2 vs 17.3.4.7/0 there is a hole; an implementation could add virtual members a base class and break user derived classes.
Example:
// implementation code: struct _Base { // _Base is in the implementer namespace virtual void foo (); }; class vector : _Base // deriving from a class is allowed { ... }; // user code: class vector_checking : public vector { void foo (); // don't want to override _Base::foo () as the // user doesn't know about _Base::foo () };
History | |||
---|---|---|---|
Date | User | Action | Args |
2010-10-21 18:28:33 | admin | set | messages: + msg228 |
2010-10-21 18:28:33 | admin | set | messages: + msg227 |
1998-10-07 00:00:00 | admin | create |