我的窗口库需要一个事件系统,但我不能传递模板lambdas,存储它们并稍后使用。
窗口类
template<typename ...Args>
        void SetCallback(EventType type, void(*callback)(Args...))
        {
            m_Callbacks[type] = callback;
        }
        template<typename ...Args>
        void CallCallback(EventType type, Args&&... args)
        {
            m_Callbacks[type](std::forward<Args>(args)...);
        }
    protected:
        bool m_ShouldClose;
        std::unordered_map<EventType, void*> m_Callbacks;
实例
window->SetCallback(Ale::EventType::KeyEvent, [](int a, int b)
{
   // Do things here
});
// Another location
window->CallCallback(Ale::EventType::KeyEvent)(0, 60);
我在这工作,但什么都不管用,我超级困惑。