Udostępnij za pośrednictwem


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
}