Hello! The following code compiles fine.
template <typename C>
struct T
{
typedef typename C::Type * pType;
template <pType A>
struct D
{
static const pType Val;
};
};
template<typena me C>
template<typena me C::Type* A// line #13
const typename T<C>::pType T<C>::D<A>::Va l = A;
int main()
{
}
But if one replaces line#13 with
template<typena me T<C>::pType A>
it does not.
Does anybody know why?
template <typename C>
struct T
{
typedef typename C::Type * pType;
template <pType A>
struct D
{
static const pType Val;
};
};
template<typena me C>
template<typena me C::Type* A// line #13
const typename T<C>::pType T<C>::D<A>::Va l = A;
int main()
{
}
But if one replaces line#13 with
template<typena me T<C>::pType A>
it does not.
Does anybody know why?
Comment