I have following code:
template <typename T>
class A
{
typedef typename T::Type MyType;
};
template <typename T>
class B : public A<B<T>>
{
typedef T Type;
};
When I try to instantiate B, I get following error message using MSVS 2015:
'Type': is not a member of 'B<int>'
Is this code valid C++ or is MSVS right?