Given this kind of code structure:
How do I elegantly make Holder hold a different version of Derived, depending on which compilation unit the constructor was called in?Code:template <T> class Base{}
namespace {
template <T> class Derived: public Base<T>{}
}
template <T>
class Holder{
Base<T> *held;
Holder(){
held = ???
}
}