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
}