Unfortunately I dont have access to the code at the moment (I can get it again tomorrow).

The issue seems to be that the classes deriving from the Singleton pattern all have a virtual destructor (because they are deriving publicly from the singleton class).

If you look at the singleton code I posted above there is an extra function declared like so:

Code:
public :
 virtual ~Singleton( ) { }
this is obviously the destructor and as you can tell it is inlined.

Now the code compiles fine if I also define the derived classes destructors inline like the singleton class. However if I define them in the cpp file and not the header file then I get this "unreference vtable" error.

Hopefully that makes sense.

Thanks again for your help