Share via


Upozornění kompilátoru C4957

'cast' : explicitní přetypování z "cast_from" na "cast_to" není ověřitelné

Poznámky

Přetypování způsobí neověřitelný obrázek.

Některé přetypování jsou bezpečné (například static_cast to, které aktivuje uživatelem definované převody a ).const_cast Je zaručeno, že safe_cast vytvoří ověřitelný kód.

Další informace naleznete v tématu Čistý a ověřitelný kód (C++/CLI).

Možnost kompilátoru /clr:safe je v sadě Visual Studio 2015 zastaralá a v sadě Visual Studio 2017 není podporována.

Toto upozornění je vydáno jako chyba a lze ji zakázat pomocí direktivy pragma upozornění nebo parametru /wd compiler.

Příklad

Následující ukázka generuje 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
}