Avviso del compilatore C4957

'cast': cast esplicito da 'cast_from' a 'cast_to' non è verificabile

Osservazioni:

Un cast genererà un'immagine non verificabile.

Alcuni cast sono sicuri, ad esempio un static_cast che attiva conversioni definite dall'utente e un const_cast. Un safe_cast genera sicuramente codice verificabile.

Per altre informazioni, vedere Codice puro e verificabile (C++/CLI).

L'opzione del compilatore /clr:safe è deprecata in Visual Studio 2015 e non supportata in Visual Studio 2017.

Questo avviso viene generato come errore e può essere disabilitato tramite il pragma warning o l'opzione del compilatore /wd .

Esempio

L'esempio seguente genera l'errore 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
}