, GCC /, () /.
- :
template<int I> class MyTemplate
{
struct PT
{
template<int, typename = void> struct InnerTemplate;
};
public:
typedef typename PT::template InnerTemplate<I>::SomeType SomeType;
};
typedef MyTemplate<1>::PT::InnerTemplate<1> ThisWontWork;
:
error: 'struct MyTemplate<1>::PT' is private within this context
, , PT::template, , , , , .