2016-03-10 4 views
1

Если у меня есть что-то по следующим направлениямКак вы можете получить доступ к вложенным классам

namespace mynamespace 
{ 
    class A 
    { 
    public: 
    class B{}; 
    class C{}; 
    }; 
int foo(B bObject, C cObject); //error 
} 

При компиляции, B и C не называют типов. Есть ли способ, чтобы я мог определять функции в пространстве имен, которые используют общедоступные вложенные классы (B и C), определенные в классе A?

ответ

8

Используйте оператор разрешения области. B и C объявлены в рамках класса A.

int foo(A::B bObject, A::C cObject); 
+0

Спасибо, такое простое решение! – user2770808

Смежные вопросы