[ERROR]
An abstract class may not be used as a type of an explicit conversion.
class A{
public:
virtual void f(void) = 0; //pure virtual function ==>
A is an abstract class
};
class B : public A{
public:
void f(void){}
};
void main(void){
A *pa;
B b;
pa = &(A)b;
}
Use a pointer/reference to the object
void main(void){
A *pa;
B b;
pa = (A *)b;
}