次の方法で共有


コンパイラ エラー C2441

'variable' : __declspec(process) と共に宣言されたシンボルは、/clr:pure モードで const である必要があります

解説

/clr:pure および /clr:safe コンパイラ オプションは Visual Studio 2015 では非推奨とされており、Visual Studio 2017 ではサポートされていません。

既定では、変数は、/clr:pure の下のアプリケーション ドメインごとです。 /clr:pure の下で __declspec(process) とマークされた変数は、あるアプリケーション ドメインで変更され、別のアプリケーション ドメインで読み取られた場合、エラーが発生しやすくなります。

したがって、コンパイラでは、プロセスごとの変数 const/clr:pure の下に強制的に適用し、すべてのアプリケーション ドメインで読み取り専用にします。

詳細については、「process」と「/clr (共通言語ランタイムのコンパイル)」を参照してください。

次の例では警告 C2441 が生成されます。

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