I am pretty sure this question is duplicate, but my code is different here, the following is my code. It fails with a \"Undefined symbols\" error, not sure whats missing.
To help anyone else that comes this way looking for help with "NOTE: a missing vtable usually means the first non-inline virtual member function has no definition."
In my case the error was caused by a missing = 0; at the end of the virtual definition. Make sure all the virtual definitions have = 0; at the end.
virtual HRESULT function(int testInput) = 0;
Hopefully this saves someone some time.
Parent::~Parent()
is not defined.
You can put the definition directly into the class definition:
class Parent {
public :
virtual int func () = 0;
virtual ~Parent() {};
};
Or define it separately. Or, since C++11, write virtual ~Parent() = default;
.
In any case, a destructor needs a definition.