Compilerfehler C2477
'member' : Statisches Datenmemm kann nicht über abgeleitete Klasse initialisiert werden.
Ein statisches Datenmemm einer Vorlagenklasse wurde falsch initialisiert. Dies ist eine bahnbrechende Änderung mit Versionen des Microsoft C++-Compilers vor Visual Studio .NET 2003, um den ISO C++-Standard zu erfüllen.
Im folgenden Beispiel wird C2477 generiert:
// C2477.cpp
// compile with: /Za /c
template <class T>
struct S {
static int n;
};
struct X {};
struct A: S<X> {};
int A::n = 0; // C2477
template<>
int S<X>::n = 0;