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