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