Erro do compilador C3389
__declspec(keyword) não pode ser usado com /clr:pure ou /clr:safe
Comentários
As opções do compilador /clr:pure
e /clr:safe
foram preteridas no Visual Studio 2015 e são incompatíveis com o Visual Studio 2017.
Um modificador __declspec
usado implica um estado por processo. /clr:pure
implica um estado por appdomain
. Portanto, declarar uma variável com o modificador palavra-chave __declspec
e compilá-lo com /clr:pure
não é permitido.
Exemplo
O seguinte exemplo gera o erro C3389:
// C3389.cpp
// compile with: /clr:pure /c
__declspec(dllexport) int g2 = 0; // C3389