Compartilhar via


Erro do Compilador C2441

"variável": um símbolo declarado com __declspec(process) deve ser const no modo /clr:pure

Comentários

As opções do compilador /clr:pure e /clr:safe foram preteridas no Visual Studio 2015 são incompatíveis com o Visual Studio 2017.

Por padrão, as variáveis no âmbito de /clr:pure são por domínio de aplicativo. Uma variável marcada como __declspec(process) no âmbito de /clr:pure estará propensa a erros se for modificada em um domínio de aplicativo e lida em outro.

Portanto, o compilador impõe que as variáveis por processo sejam const no âmbito de /clr:pure, tornando-as somente leitura em todos os domínios de aplicativo.

Para obter mais informações, confira processo e /clr (Compilação no Common Language Runtime).

Exemplo

A amostra a seguir gera o erro C2441:

// C2441.cpp
// compile with: /clr:pure /c
__declspec(process) int i;   // C2441
__declspec(process) const int j = 0;   // OK