我的CEGUI库有问题
我有一个活动课(点击,关键...等)
class GUI_Event
{
private:
bool (*_L_Mouse_Click_DoFunction ) () ;
protected:
bool onClick(const EventArgs &Args)
{
return _L_Mouse_Click_DoFunction();
}
public:
SetFunctionClick(bool Function ()) /// i forget ()
{
_L_Mouse_Click_DoFunction = Function ;
}
};
我有另一个名为按钮的类来创建按钮和窗口
cass GUI_Button : public GUI_Event
{
public:
void CreateButton(//some argument) ;
};
void GUI_Button::CreateButton(//some argument)
{
...
.
..
..
_Frame_Window->subscribeEvent ( FrameWindow::EventMouseClick , Event::Subscriber (&GUI_Window::onClick ));//error
}
现在,如果我编译此代码,我会收到以下错误
错误C2064:术语未评估为 功能1 参数c:\ cegui-sdk-0.7.5-vc10 \ cegui \ include \ ceguifunctorcopyslot.h 51
答案 0 :(得分:2)
检查此行,
SetFunctionClick(bool Function) { _L_Mouse_Click_DoFunction = Function ;}
类成员_L_Mouse_Click_DoFunction
是一个函数指针。因此,它只能分配相同的类型变量。值Function
属于bool
类型。
您可以将其更改为,
SetFunctionClick(bool (*Function) ())