I'm trying to implement a pure virtual class and derived class, but I am getting the following error.
/usr/lib64/gcc/x86_64-suse-linux/8/../../../../x86_64-suse-linux/bin/ld: /tmp/ccvROhIa.o: in function `main':
main.cpp:(.text+0x1ea): undefined reference to `vtable for bca2016_vol1_amdt1'
/usr/lib64/gcc/x86_64-suse-linux/8/../../../../x86_64-suse-linux/bin/ld: /tmp/ccvROhIa.o: in function `bca2016_vol1_amdt1::~bca2016_vol1_amdt1()':
main.cpp:(.text._ZN18bca2016_vol1_amdt1D2Ev[_ZN18bca2016_vol1_amdt1D5Ev]+0xd): undefined reference to `vtable for bca2016_vol1_amdt1'
collect2: error: ld returned 1 exit status
I'm still new to c++, so I'm trying to learn what's wrong and why it's wrong. From my research it seems like it's primarily to do with the linker and the most common reason for this is that a virtual function hasn't been declared or that a virtual destructor hasn't been declared, though i'm pretty sure I have declared it?