Compilerwarnung C4957
'cast' : Die explizite Umwandlung von "cast_from" in "cast_to" ist nicht überprüfbar.
Hinweise
Eine Umwandlung ergibt ein nicht überprüfbares Image.
Einige Umwandlungen sind sicher (z. B. eine static_cast
die benutzerdefinierte Umwandlungen auslöst, und eine const_cast
). Eine safe_cast generiert auf jeden Fall überprüfbaren Code.
Weitere Informationen finden Sie unter Pure and Verifiable Code (C++/CLI).For more information, see Pure and Verifiable Code (C++/CLI).
Die Option "/clr:safe compiler" ist in Visual Studio 2015 veraltet und wird in Visual Studio 2017 nicht unterstützt.
Diese Warnung wird als Fehler ausgegeben. Sie kann mithilfe des warning -Pragmas oder der Compileroption /wd deaktiviert werden.
Beispiel
Im folgenden Beispiel wird C4957 generiert:
// 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
}