Qt C ++中的成员函数指针

时间:2013-08-20 11:58:37

标签: qt visual-c++ qt4

typedef void (classname::*funptr)(int);

void classname::func(int p)
{
...
}

void classname::someotherfunc()
{
........

 funptr ptr;
 ptr= &(classname::func);                 // this is error line 

...........
}

它给了我以下错误:

error C2276: '&' : illegal operation on bound member function expression.

接下来我试了

ptr= classname::func;

给出了这个错误:

error C3867: 'FaceBinUI::progress_update': function call missing argument list; use '&FaceBinUI::progress_update' to create a pointer to member

请为此问题提出一些解决方案。

1 个答案:

答案 0 :(得分:2)

编译器正在告诉你你需要做什么:

ptr= &classname::func;

所以只是丢掉括号。