Compiler Error C2452

 

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

'type' : invalid source type for safe_cast

The source type for safe_cast was not valid. For example, all types in a safe_cast operation must be CLR types.

The following sample generates 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);  
}  

Show: