編譯器警告 C4957
' cast ' :無法驗證從 ' cast_from ' 到 ' cast_to ' 的明確轉換
備註
轉換會產生無法驗證的影像。
部分轉換是安全的 (例如,觸發使用者定義轉換的 static_cast
以及 const_cast
)。 safe_cast 保證會產生可驗證的程式碼。
如需詳細資訊,請參閱 純和可驗證的程式碼(C++/CLI)。
Visual Studio 2015 中已淘汰 /clr:safe 編譯器選項,在 Visual Studio 2017 中不受支援。
發出這個警告即表示發生錯誤,而且可以使用 warning pragma 或 /wd 編譯器選項予以停用。
範例
下列範例會產生 C4957:
// C4957.cpp
// compile with: /clr:safe
// #pragma warning( disable : 4957 )
using namespace System;
int main() {
Object ^ o = "Hello, World!";
String ^ s = static_cast<String^>(o); // C4957
String ^ s2 = safe_cast<String^>(o); // OK
}
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應