prog.cpp: In function ‘int main()’:
prog.cpp:32:18: error: cannot declare variable ‘d2’ to be of abstract type ‘another_derived’
another_derived d2; // doesn't work
^~
prog.cpp:20:7: note: because the following virtual functions are pure within ‘another_derived’:
class another_derived : public base {
^~~~~~~~~~~~~~~
prog.cpp:5:14: note: ‘virtual int base::first(int)’
virtual int first(int a) = 0;
^~~~~