Ostrzeżenie kompilatora C4957
"cast" : jawne rzutowanie z "cast_from" na "cast_to" nie jest weryfikowalne
Uwagi
Rzutowanie spowoduje niezweryfikowalny obraz.
Niektóre rzuty są bezpieczne (na przykład static_cast
wyzwalające konwersje zdefiniowane przez użytkownika i ).const_cast
Zagwarantowana jest safe_cast wygenerowanie weryfikowalnego kodu.
Aby uzyskać więcej informacji, zobacz Pure and Verifiable Code (C++/CLI).
Opcja /clr:safe compiler jest przestarzała w programie Visual Studio 2015 i nieobsługiwana w programie Visual Studio 2017.
To ostrzeżenie jest wystawiane jako błąd i można je wyłączyć z ostrzeżeniem pragma lub /wd opcji kompilatora.
Przykład
Poniższy przykład generuje kod 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
}