[Bug c++/30734] New: name conflict between class and namespace name is not recognized
Gabriel Dos Reis
gdr@cs.tamu.edu
Thu Feb 8 10:16:00 GMT 2007
"ulrich dot lauther at siemens dot com" <gcc-bugzilla@gcc.gnu.org> writes:
| 1 namespace Foo {
| 2 };
| 3
| 4 class Foo {
| 5 };
| 6
| 7 int main() {
| 8 class Foo1 : public Foo {
| 9 };
| 10 Foo1 my_Foo1;
| 11 Foo my_foo;
| 12 return 0;
| 13 }
| 14
| 15
| Foo.C: In function 'int main()':
| Foo.C:11: error: expected primary-expression before 'my_foo'
| Foo.C:11: error: expected `;' before 'my_foo'
|
| on line 8 and 10, "Foo" is understod asa class name, on line 11 as a namespace
| Without line 11, no error message at all
Line 4 is invalid; the front-end should have issued a diagnostic there.
-- Gaby
More information about the Gcc-bugs
mailing list