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


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

__declspec(ключевое слово) нельзя использовать с /clr:pure или /clr:safe

Замечания

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

Модификатор __declspec , используемый, подразумевает состояние каждого процесса. /clr:pure подразумевает состояние на уровнеappdomain . Таким образом, объявление переменной с модификатором ключевых слов __declspec и компиляцией с /clr:pure ним запрещено.

Пример

Следующий пример приводит к возникновению ошибки C3389:

// C3389.cpp
// compile with: /clr:pure /c
__declspec(dllexport) int g2 = 0;   // C3389