Compiler Error C2681


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

'type' : invalid expression type for name

A casting operator tried to convert from an invalid type. For example, if you use the dynamic_cast operator to convert an expression to a pointer type, the source expression must be a pointer.

The following sample generates C2681:

// C2681.cpp  
class A { virtual void f(); };  
void g(int i) {  
    A* pa;  
    pa = dynamic_cast<A*>(i);  // C2681