Destructors cannot be templates. For example:
class foo { template<class T> virtual ~foo();// error: don't try this at home! };