我是Marmalade的新手,我正试图掌握不寻常的格式等等,并且正在努力去理解为什么它一直在抛出错误。
我试图让它显示我已定义的UI,可能不正确,但至少以正确的格式显示。但我一直在接受:
“错误:没有匹配函数来调用'CIwUISlot1> :: CIwUISlot1(CController * const,const char [23],void(CController :: *)())'”
我无法解决,我看到它可能是由传递的错误变量引起的,但据我所知,它们是正确的。以下是IwUIElementSignal.h的代码:
#define IW_UI_CREATE_VIEW_SLOT1(Owner, Name, Class, Member, Param1) { \
IDelegateQuery* pSlot = \
new CIwUISlot1<Class, Param1>(Owner, #Member, &Class::Member); \
IwGetUIView()->AddDelegate(IwHashString(#Class), IwHashString(Name), pSlot); }
这是从Main.cpp调用的:
class CController : public CIwUIController
{
public:
CController()
{
IW_UI_CREATE_VIEW_SLOT1(this, "CController", CController, OnClickButton_Quotes, CIwUIElement*)
IW_UI_CREATE_VIEW_SLOT1(this, "CController", CController, OnClickButton_Targets, CIwUIElement*)
IW_UI_CREATE_VIEW_SLOT1(this, "CController", CController, OnClickButton_Add_Entry, CIwUIElement*)
IW_UI_CREATE_VIEW_SLOT1(this, "CController", CController, OnClickButton_Backup, CIwUIElement*)
IW_UI_CREATE_VIEW_SLOT1(this, "CController", CController, OnClickButton_Clock, CIwUIElement*)
IW_UI_CREATE_VIEW_SLOT1(this, "CController", CController, OnClickButton_Postit_1, CIwUIElement*)
}
private:
void OnClickButton_Quotes()
{
}
void OnClickButton_Targets()
{
}
void OnClickButton_Add_Event()
{
}
void OnClickButton_Clock()
{
}
void OnClickButton_Backup()
{
}
void OnClickButton_Postit_1()
{
}
};
这尤其令人困惑,因为它或多或少地复制并粘贴了Marmalade SDK附带的IwUI示例......
请你详细说明你的答复,因为我不仅是Marmalade的新手,也是C ++的新手。
干杯
答案 0 :(得分:0)
所有事件处理函数都应以CIwUIElement *作为参数。所以函数声明应该如下:
void OnClickButton_Quotes(CIwUIElement*)
{
}
void OnClickButton_Targets(CIwUIElement*)
{
}
... e.t.c。