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


Предупреждение компилятора C4959

не удается определить неуправляемую структуру "type" в /clr:safe, так как доступ к его членам дает неуправляемый код

Замечания

Обращение к члену неуправляемого типа приводит к формированию непроверяемого (peverify.exe) образа.

Дополнительные сведения см. в разделе "Чистый и проверяемый код" (C++/CLI).

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

Это предупреждение выдается в качестве ошибки, и его можно отключить с помощью директивы pragma warning или параметра компилятора /wd .

Пример

Следующий пример приводит к возникновению предупреждения C4959:

// C4959.cpp
// compile with: /clr:safe

// Uncomment the following line to resolve.
// #pragma warning( disable : 4959 )
struct X {
   int data;
};

int main() {
   X x;
   x.data = 10;   // C4959
}