Erro do compilador C3412
'template': não é possível especializar o modelo no escopo atual
Um modelo não pode ser especializado no escopo da classe, somente no escopo global ou de namespace.
Exemplos
O exemplo a seguir gera o erro C3412.
// C3412.cpp
template <class T>
struct S {
template <>
struct S<int> {}; // C3412 in a class
};
O exemplo a seguir mostra uma possível resolução.
// C3412b.cpp
// compile with: /c
template <class T>
struct S {};
template <>
struct S<int> {};