我在一个类中有一个指针函数,它在类外定义并用作回调。
课程就像这样
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
}
我正在获取函数名称并使用回调。如何使用这个函数指针?
答案 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);
然后你可以在任何你想要的地方使用函数指针