在类中调用指针函数

时间:2011-07-27 13:43:53

标签: c++ function pointers

我在一个类中有一个指针函数,它在类外定义并用作回调。

课程就像这样

class A
{
    void CreateGrid(OWindow *win,int x,int y);
    Otkobject *GetIcon(void *data,Otkobject *obj,int x)
}

我已经像这样定义了GetIcon函数

Otkobject *A::GetIcon(oid *data,Otkobject *obj,int x){
    //statements
}

为此,我遇到了错误。

然后我试了

Otkobject A::*GetIcon(void *data,Otkobject *obj,int x){
    //statements
}

我正在获取函数名称并使用回调。如何使用这个函数指针?

2 个答案:

答案 0 :(得分:1)

这是一个返回指针的函数,而不是函数指针。错误可能是类声明后缺少的分号:

class A
{
    void CreateGrid(OWindow *win,int x,int y);
    Otkobject *GetIcon(void *data,Otkobject *obj,int x); // <- also here
}; // <- notice semicolon

答案 1 :(得分:-2)

你应该输入这个函数。类似的东西:
typedef Otkobject * function_type(void * data,Otkobject * obj,int x);

然后你可以在任何你想要的地方使用函数指针