Partager via


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