Aviso do Compilador (nível 1) C4669

'cast' : conversão não segura: 'class' é um objeto de tipo gerenciado ou WinRT

Uma conversão contém um tipo Windows Runtime ou gerenciado. O compilador conclui a conversão executando uma cópia bit-wise de um ponteiro para o outro, mas não fornece nenhuma outra verificação. Para resolver esse aviso, não converta classes que contenham membros gerenciados ou tipos de Windows Runtime.

A seguinte amostra gera C4669 e mostra como corrigi-lo:

// 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
}