C1122: Cannot instantiate abstract class object

[ERROR]

Description

An abstract class is a class that can be used only as a base class of some other class; no objects of an abstract class may be created except as objects representing a base class of a class derived from it.

Example
  class A{

  
  public:

  
    virtual void f(void) = 0; //pure virtual function ==> A

  
                              //is an abstract class

  
  };

  
  void main(void){

  
    A a;

  
  }

  
Tips

Use a pointer/reference to the object:

  void main(void){

  
    A *pa;

  
  }

  

Use a derived class from abstract class:

  class B : public A{

  
  public:

  
    void f(void){}

  
  };

  
  void main(void){

  
    B b;

  
  }