namespace Frage
-
Morgen,
wenn ich folgende namespaces habe:
namespace Foo { namespace Bar { class MyClass { }; }}und jetzt folgenden 2. Namespace
namespace Foo { namespace Möp { class MyClass2 { void method(); }; }}Wenn ich jetzt in Foo::Möp::MyClass2::method() die Klasse MyClass verwenden will, geht das ja mit Foo::Bar::MyClass. Einfach nur MyClass scheint nicht zu gehen. Allerdings scheint Bar::MyClass auszureichen. Wieso?
-
ryn+ schrieb:
Wenn ich jetzt in Foo::Möp::MyClass2::method() die Klasse MyClass verwenden will, geht das ja mit Foo::Bar::MyClass. Einfach nur MyClass scheint nicht zu gehen. Allerdings scheint Bar::MyClass auszureichen. Wieso?
Innerhalb von MyClass2 ist alles sichtbar, was in den übergeordneten Namespaces auch sichtbar ist. Foo ist einer davon, und daher ist auch Bar innerhalb von MyClass2 sichtbar.