4

私はこのような関数ポインタを持つpagePtrクラスを持っています

int (*FunPtr)(char*sz, unsigned int max_bytes, char* arg1, char* arg2, char* arg3,
char* arg4);//Function definition

このようにコンストラクターで初期化しました

pagePtr::pagePtr() : FunPtr(Null)
{
}

今、私はセッターにこのようなものを書きました。それが正しいかどうかはわかりません

void pagePtr::setFunPtr(int(*ptr2Fun)(char*sz, unsigned int max_bytes,
char* arg1, char* arg2, char* arg3, char* arg4))
{
    FunPtr = ptr2Fun;
}

ゲッターの書き方の手がかりがありません(そして、私が間違っていた場合はセッターも)。助言がありますか?

4

2 に答える 2

7
typedef int (*FunPtr)(char*sz, unsigned int max_bytes, char* arg1, char* arg2, char* arg3,char* arg4);//Function definition   // magic word!

void pagePtr::setFunPtr(FunPtr func){m_func = func;} //so clean!!!
FunPtr getFunPtr(){return m_func;}

そのような状況で常に使用typedefして、誰にとっても生活を楽にします..

として変数を定義しますFunPtr m_func

于 2013-03-05T09:24:26.827 に答える
-1

完全を期すために、実際の構文は次のとおりです。

int (*pagePtr::getFunPtr())(char*, unsigned int, char*, char*, char*, char*)
{
    return FunPtr;
}
于 2013-03-08T09:05:32.323 に答える