Teilen über


Compilerfehler C3366

'Variable': Statische Datenmember von verwalteten oder WinRTtypes müssen innerhalb der Klassendefinition definiert werden.

Bemerkungen

Sie haben versucht, auf einen statischen Member einer WinRT- oder .NET-Klasse oder -Schnittstelle außerhalb der Definition der Klasse oder Schnittstelle zu verweisen.

Der Compiler muss die vollständige Definition der Klasse kennen (um Metadaten nach einer Übergabe auszugeben) und erfordert statische Datenmember für die Initialisierung innerhalb der Klasse.

Example

Beispielsweise generiert das folgende Beispiel C3366 und zeigt, wie Sie den Fehler beheben:

// C3366.cpp
// compile with: /clr /c
ref class X {
   public:
   static int i;   // initialize i here to avoid C3366
};

int X::i = 5;      // C3366