class A{
public:
class B{};
};
template<typename T>
class wrapper{
public:
T data;
};
template<typename T>
class wrapped_B{
public:
A::B data;
};
void OnStart()
{
A::B a; // OK
wrapper<A::B> b0; // 'B' - unexpected token, probably type is missing? 'data' - semicolon expected
wrapped_B<A::B> b2; // OK
class local_B : public A::B{};
wrapper<local_B> b1; // OK
}
int main(){
OnStart();
return 0;
}