Compartir a través de


Error del compilador C3366

"variable": los miembros de datos estáticos de tipos WinRT o administrados deben definirse en la definición de clase

Ha intentado hacer referencia a un miembro estático de una clase o interfaz .NET o WinRT fuera de la definición de esa clase o interfaz.

El compilador necesita conocer la definición completa de la clase (para emitir los metadatos después de un paso) y requiere que los miembros de datos estáticos se inicialicen en la clase.

Por ejemplo, en el ejemplo siguiente se genera el error C3366 y se muestra cómo corregirlo:

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

int X::i = 5;      // C3366