Compartilhar via


Erro do compilador C3366

'variable': membros de dados estáticos de tipos gerenciados ou WinRT precisam ser definidos dentro da definição de classe

Você tentou fazer referência a um membro estático de uma classe ou interface WinRT ou .NET fora da definição dessa classe ou interface.

O compilador precisa saber a definição completa da classe (para emitir os metadados após uma passagem) e exige que os membros de dados estáticos sejam inicializados dentro da classe.

Por exemplo, o seguinte exemplo gera o erro C3366 e mostra como corrigi-lo:

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

int X::i = 5;      // C3366