Compilerfehler C2866

'Variable': Der konstante statische Datenmember eines verwalteten Typs muss zum Zeitpunkt der Deklaration initialisiert werden

Es ist nicht zulässig, einen nicht initialisierten conststatic-Datenmember in einer verwalteten Klasse oder Struktur zu deklarieren.

Im folgenden Beispiel wird C2866 generiert:

// C2866.cpp
// compile with: /clr /c
ref class x {
public:
   const static int i;   // C2866
   const static int j = 0;   // OK

   // Delete the following line to resolve.
   void xx() { i = 9; }
};

Im folgenden Beispiel wird C2866 generiert:

// C2866b.cpp
// compile with: /clr:oldSyntax /c

__gc class CMyClass {
public:
   const static double d;   // C2866
   const static double d2 = 9;   // OK
};