Я хотел бы создать карту с EventHandler из типа Base, но вставить эту карту несколько производных EventHandlers, как например:STL Контейнер с родовым шаблонным базовым типом, принимая производные типы
std::unordered_map<int, EventHandler<Base>*> maap;
EventHandler<Derived>* e1 = new EventHandler<Derived>();
maap.emplace(std::make_pair(1, e1));
Это возможно указатели простых объектов, но здесь EventHandler <> - шаблонный объект, поэтому компилятор суетливый о преобразовании. Было бы хорошо, если бы я мог сделать что-то вроде
template <class T>
std::unordered_map<int, EventHandler<T>> maap;
Но это не работает, либо ... Есть идеи?
Единственный вариант, который приходит мне на ум, - это вариант варианта, который может содержать все типы EventHandler и использовать карту для этого. Например. вы можете использовать вариант boost для этого – choosyg