Compilerfehler C3412

Aktualisiert: November 2007

Fehlermeldung

'Vorlage': Vorlage in aktuellem Bereich kann nicht spezialisiert werden
'template' : cannot specialize template in current scope

Eine Vorlage kann nicht im Gültigkeitsbereich einer Klasse, sondern nur im globalen oder in dem des Namespaces spezialisiert werden.

Beispiel

Im folgenden Beispiel wird C3412 generiert.

// C3412.cpp
template <class T>
struct S {
   template <>
   struct S<int> {};   // C3412 in a class
};

Das folgende Beispiel zeigt eine mögliche Lösung.

// C3412b.cpp
// compile with: /c
template <class T>
struct S {};

template <>
struct S<int> {};