Compiler Warning C4957
Visual Studio 2008
'cast' : explicit cast from 'cast_from' to 'cast_to' is not verifiable
A cast will result in an unverifiable image.
Some casts are safe (for example, a static_cast that triggers user-defined conversions and a const_cast). A safe_cast is guaranteed to produce verifiable code.
For more information, see Pure and Verifiable Code (C++/CLI).
This warning is issued as an error and can be disabled with the warning pragma or the /wd compiler option.
The following sample generates 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
}