0

私はマーマレードを初めて使用し、異常な書式設定などを理解しようとしていますが、エラーが発生し続ける理由を理解するのに苦労しています.

私が定義した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 の例から多かれ少なかれコピー アンド ペーストされているため、特に困惑しています...

私はマーマレードだけでなくC ++も初めてなので、回答の詳細を教えてください。

乾杯

4

1 に答える 1

0

すべてのイベント処理関数は、CIwUIElement* をパラメーターとして受け取る必要があります。したがって、関数宣言は次のようになります。

void OnClickButton_Quotes(CIwUIElement*)
{

}

void OnClickButton_Targets(CIwUIElement*)
{

}

...など

于 2014-05-28T13:41:42.870 に答える