template<typename T>
void add_observer(EventObserver &obs, std::function<void(const T &)> cb)
- { static_cast<EventDispatcher<T> &>(*this).add_observer(obs, std::move(cb)); }
+ { static_cast<EventDispatcher<T> &>(*this).add_observer(&obs, std::move(cb)); }
void remove_observer(EventObserver &obs) override
{ (static_cast<EventDispatcher<E> &>(*this).remove_observer(&obs), ...); }