C++: INHERITED_VALUE_BINDING_P
Gabriel Dos Reis
gdr@integrable-solutions.net
Mon Oct 27 19:41:00 GMT 2003
Mark Mitchell <mark@codesourcery.com> writes:
| > | In particular, this code:
| > |
| > | struct A {
| > | struct B {};
| > | };
| > |
| > | struct C : public A {
| > | void B();
| > | };
| > |
| > | struct C::B b;
| > |
| > | is legal.
| >
| > I do not believe the program is well-formed for the reasons explained
| > in 10.2/2
|
| Neither G++ nor the EDG front end agree with you.
Well, I'm questioning G++ behaviour and I do not believe it is right.
As of EDG behaviour, I think it is wrong as well and we can discuss
that with them.
| Both consider the tag-type and ordinary namespaces separately; a
| declaration hides only those entities from base classes that are of the
| same kind.
How can that be derived from the standard text? I can not see where.
However, there are explicit wordings to the contrary.
| I can't say definitively whether that's correct or not, but before we
| change G++ we should have an opinion from the commitee.
Sure.
-- Gaby
More information about the Gcc
mailing list