4

我有一个带有函数指针的 pagePtr 类,看起来像这样

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

我像这样在构造函数中初始化它

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

现在我写了类似这样的setter我不知道它是否正确

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 回答