Compiler Error C2960

template 'identifier' requires a tag-name

The template class specified by the identifier is followed by a union, struct, class, or enum without its own identifier.

template <class T> class D struct;