Freigeben über


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
}