Ошибка компилятора 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