建議使用 Visual Studio 2017

編譯器警告 C4959

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

無法在 /clr:safe 中定義 Unmanaged 結構 'type',因為存取它的成員會產生無法驗證的程式碼

存取 Unmanaged 類型的成員將會產生無法驗證的 (peverify.exe) 映像。

如需詳細資訊,請參閱純程式碼及可驗證程式碼 (C + + /cli CLI)

發出這個警告即表示發生錯誤,而且可以使用 warning pragma 或 /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  
}  

顯示: