Advertencia del compilador C4957
"cast": la conversión explícita de "cast_from" a "cast_to" no es comprobable
Comentarios
Una conversión producirá una imagen no comprobable.
Algunas conversiones son seguras (por ejemplo, un elemento static_cast
que desencadena conversiones definidas por el usuario y un elemento const_cast
). Se garantiza que un elemento safe_cast genera código comprobable.
Para más información, consulte Código puro y comprobable (C++/CLI).
La opción del compilador /clr:safe está en desuso en Visual Studio 2015 y no se admite en Visual Studio 2017.
Esta advertencia se emite como un error y puede deshabilitarse con pragma warning o la opción del compilador /wd .
Ejemplo
El ejemplo siguiente genera la advertencia 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
}