Consider the following:
In X.h:
class X
{
X();
virtual ~X();
};
X.cpp:
#inclu
These aren't a complete program yet (or even a complete DLL). When you are getting the error, you are actually being helped, because X is unusable without a definition for ~X()
All it means is that this specific compiler instance needed a definition for it in some cases. Even if it compiles, it doesn't do anything.