RT,数组中的元素是类中的成员函数。我现在用以下的方法定义,但提示出错!
void micdialog::SetMicEffect()
{}void micdialog:: OnRECVMsg(WPARAM wParam,LPARAM lParam)
{
void (*func_ptr)()[] = {
&SetMicEffect
};
}

解决方案 »

  1.   

    函数原型不一样!void (*func_ptr)()     是静态函数
    void micdialog::SetMicEffect()  是成员函数,也就是动态函数动态函数的地址是取不出来的!因为只是在调用的时候出现在栈中而已
      

  2.   

    要先指定类的作用域,在调用时要捆绑具体对象调用,MFC的消息映射函数就是这样实现的
      

  3.   

    typedef int ( CTranSession::*BillProc )( char *sphone,char *scalltime );
    BillProc p[5];p[0] = GetMonthBill;
    p[1] = GetVoiceBill;
    p[2] = GetSmsBill;
    p[3] = GetMonternetBill;
    p[4] = GetGprsBill;
      

  4.   

    void micdialog::SetMicEffect()
    {}void micdialog:: OnRECVMsg(WPARAM wParam,LPARAM lParam)
    {
    void (*func_ptr[])() = {
    &SetMicEffect
    };
    }