Поделиться через


Ошибка компилятора C3212

"специализация": явная специализация члена шаблона должна быть членом явной специализации

Явная специализация имеет неправильный формат.

Следующий пример приводит к возникновению ошибки 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> {
};
*/