Поделиться через


Ошибка компилятора C2434

"symbol": символ, объявленный с __declspec(process), не может быть динамически инициализирован в /clr:pure mode

Замечания

Параметры компилятора /clr:pure и /clr:safe компилятора устарели в Visual Studio 2015 и не поддерживаются в Visual Studio 2017.

Невозможно динамически инициализировать переменную для каждого процесса в параметре /clr:pure. Дополнительные сведения см. в разделе /clr (компиляция среды CLR) и процесса.

Пример

Следующий пример приводит к возникновению ошибки C2434. Чтобы устранить эту проблему, используйте константы для инициализации process переменных.

// C2434.cpp
// compile with: /clr:pure /c
int f() { return 0; }
__declspec(process) int i = f();   // C2434
__declspec(process) int i2 = 0;   // OK