どうもです。そうですね、BaseとDerivedにします
template <class Base, class Derived> void derived_delete(Base* pointee)
{
delete static_cast<Derived*>(pointee);
}
みたいな感じで…