Avviso del compilatore (livello 1) C4669
'cast': conversione non affidabile: 'class' è un oggetto di tipo gestito o WinRT
Un cast contiene un tipo Windows Runtime o gestito. Il compilatore completa il cast eseguendo una copia bit per bit di un puntatore all'altro, ma non fornisce altri controlli. Per risolvere il problema, non eseguire il cast di classi contenenti membri gestiti o tipi Windows Runtime.
L'esempio seguente genera l'errore C4669 e mostra come risolverlo:
// C4669.cpp
// compile with: /clr /W1
ref struct A {
int i;
Object ^ pObj; // remove the managed member to fix the warning
};
ref struct B {
int j;
};
int main() {
A ^ a = gcnew A;
B ^ b = reinterpret_cast<B ^>(a); // C4669
}