Compilerfehler C3212

Aktualisiert: November 2007

Fehlermeldung

'Spezialisierung': Eine explizite Spezialisierung eines Vorlagenmembers muss ein Member einer expliziten Spezialisierung sein
'specialization' : an explicit specialization of a template member must be a member of an explicit specialization

Eine explizite Spezialisierung wurde nicht ordnungsgemäß formatiert.

Im folgenden Beispiel wird C3212 generiert:

// 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> {
};
*/