没有匹配函数来调用

时间:2013-07-28 10:39:10

标签: c++ marmalade

我是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 ++的新手。

干杯

1 个答案:

答案 0 :(得分:0)

所有事件处理函数都应以CIwUIElement *作为参数。所以函数声明应该如下:

void OnClickButton_Quotes(CIwUIElement*)
{

}

void OnClickButton_Targets(CIwUIElement*)
{

}

... e.t.c。

相关问题