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
}