這是一箇中級問題。我通過存儲指向函數的指針在C++中註冊我的事件。 目前,我將函數存儲在boost::function<void (Event*)>
中,並且該函數將在事件觸發時將指向該事件的指針作爲參數。在我的函數中刪除boost :: bind的需要
要註冊一個新的事件,我做..
Event::Register("click", "Image18", boost::bind(&MyMenu::OnClick, this, _1));
MyMenu::OnClick(DKEvent* event) <-- calls this
我想盡可能地簡化了我的代碼的用戶端。 如何將boost :: bind方法推入Event類。我想減少註冊事件,像這樣。少就是好。
Event::Register("click", "Image18", &MyMenu::OnClick, this);
這可能涉及使用C++模板作爲引用的類並不總是相同的。有人可以快速瞭解我如何實現這一目標。
您能否顯示'Even :: Register'的實現的當前接口和相關位? – Angew
可變模板已經解決了我的問題。謝謝。 – aquawicket