コンパイラの警告 C4959
アンマネージ構造体 'type' は、そのメンバーへのアクセスによって検証不可能なコードが生成されるため、/clr:safe で定義できません
解説
アンマネージ型のメンバーにアクセスすると、検証不可能な (peverify.exe) イメージが生成されます。
詳細は、純粋で検証可能なコード (C++/CLI)を参照してください。
/clr:safe コンパイラ オプションは Visual Studio 2015 では非推奨とされており、Visual Studio 2017 ではサポートされていません。
この警告は、エラーとして表示されます。無効にするには、 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
}