Compiler Error C3212
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Compiler Error C3212.
specialization' : an explicit specialization of a template member must be a member of an explicit specialization
An explicit specialization was ill formed.
The following sample generates C3212:
// C3212.cpp
// compile with: /LD
template <class T>
struct S {
template <class T1>
struct S1;
};
template <class T> // C3212
template <>
struct S<T>::S1<int> {};
/*
// try the following instead
template <>
template <>
struct S<int>::S1<int> {};
*/
/*
// or, the following
template <>
struct S<int> {
template <class T1>
struct S1;
};
template <>
struct S<int>::S1<int> {
};
*/
Show: