Erreur du compilateur C2441
'variable' : un symbole déclaré avec __declspec(process) doit être const en mode /clr :pure
Notes
Les options du compilateur /clr :pure et /clr :safe sont déconseillées dans Visual Studio 2015 et non prises en charge dans Visual Studio 2017.
Par défaut, les variables sont par domaine d’application sous /clr :pure. Une variable marquée __declspec(process)
sous /clr :pure est sujette à des erreurs s’il est modifié dans un domaine d’application et lu dans un autre.
Par conséquent, le compilateur applique les variables const
par processus sous /clr :pure, ce qui les rend en lecture seule dans tous les domaines d’application.
Pour plus d’informations, consultez process and /clr (Common Language Runtime Compilation).
Exemple
L’exemple suivant génère l’erreur C2441.
// C2441.cpp
// compile with: /clr:pure /c
__declspec(process) int i; // C2441
__declspec(process) const int j = 0; // OK