Compartilhar via


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
}