Aviso do compilador C4957
'cast' : conversão explícita de 'cast_from' para 'cast_to' não é verificável
Comentários
Uma conversão resultará em uma imagem não verificável.
Algumas conversões são seguras (por exemplo, um static_cast
que dispara conversões definidas pelo usuário e um const_cast
). Garante-se que safe_cast produzirá código verificável.
Para obter mais informações, consulte Código Puro e Verificável (C++/CLI).
A opção do compilador /clr:safe foi preterida no Visual Studio 2015 e não tem suporte no Visual Studio 2017.
Esse aviso é emitido como um erro e pode ser desabilitado com o aviso pragma ou a opção do compilador /wd.
Exemplo
A amostra a seguir gera o aviso 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
}