Compartir a través de


Error del compilador C2452

'tipo': tipo de origen no válido para safe_cast

El tipo de origen de safe_cast no es válido. Por ejemplo, todos los tipos de una operación safe_cast deben ser tipos CLR.

El ejemplo siguiente genera el error C2452:

// C2452.cpp
// compile with: /clr

struct A {};
struct B : public A {};

ref struct C {};
ref struct D : public C{};

int main() {
   A a;
   safe_cast<B*>(&a);   // C2452

   // OK
   C ^ c = gcnew C;
   safe_cast<D^>(c);
}