事件和参数列表错误

Event and the argument list error

本文关键字:错误 列表 参数 事件      更新时间:2023-10-16

我对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 ;
  }
};

我有另一个名为button的类来创建按钮和窗口

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.75-vc10\cegui\include\ceguifunctocopyslot.h 51

检查此行,

SetFunctionClick(bool Function) { _L_Mouse_Click_DoFunction = Function ;}

类成员_L_Mouse_Click_DoFunction是一个函数指针。因此,只能为其分配相同类型的变量。值Functionbool类型。

你可以把它改成

SetFunctionClick(bool (*Function) ())