コンパイラ エラー C2452

'型' : safe_cast に対する無効なソース型です

safe_cast の元の型が無効でした。 たとえば、safe_cast 操作ではすべての型が CLR 型である必要があります。

次の例では 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);
}