Udostępnij za pomocą


Błąd kompilatora C2441

"zmienna": symbol zadeklarowany za pomocą __declspec(procesu) musi być const w trybie /clr:pure

Uwagi

Opcje kompilatora /clr:pure i /clr:safe są przestarzałe w programie Visual Studio 2015 i nieobsługiwane w programie Visual Studio 2017.

Domyślnie zmienne są na domenę aplikacji w obszarze /clr:pure. Zmienna oznaczona __declspec(process) jako /clr:pure jest podatna na błędy, jeśli została zmodyfikowana w jednej domenie aplikacji i odczytuje w innej.

W związku z tym kompilator wymusza zmienne procesu w const obszarze /clr:pure, co czyni je tylko do odczytu we wszystkich domenach aplikacji.

Aby uzyskać więcej informacji, zobacz proces i /clr (kompilacja środowiska uruchomieniowego języka wspólnego).

Przykład

Poniższy przykład generuje C2441.

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