Error del compilador C2441
"variable": cualquier símbolo declarado con __declspec(proceso) debe ser constante en el modo /clr:pure
Comentarios
Las opciones del compilador /clr:pure y /clr:safe están en desuso en Visual Studio 2015 y no se admiten en Visual Studio 2017.
De forma predeterminada, las variables son por dominio de aplicación en /clr:pure. Una variable marcada __declspec(process)
en /clr:pure es propensa a errores si se modifica en un dominio de la aplicación y se lee en otro.
Por consiguiente, el compilador exige que las variables por proceso estén const
en /clr:pure, lo que las convierte en de solo lectura en todos los dominios de la aplicación.
Para más información, consulte process y /clr (compilación con Common Language Runtime).
Ejemplo
El ejemplo siguiente genera el error C2441.
// C2441.cpp
// compile with: /clr:pure /c
__declspec(process) int i; // C2441
__declspec(process) const int j = 0; // OK