typedef void (__stdcall *pRunFileDlg)(HWND,HICON, LPCTSTR,    LPCTSTR, LPCTSTR, UINT);看程序,碰到这句话,半天看不懂是什么意思,请教。

解决方案 »

  1.   

    typedef void (__stdcall *pRunFileDlg)(HWND,HICON, LPCTSTR,    LPCTSTR, LPCTSTR, UINT);定义一种新的类型,这种类型是函数指针,用它定义的函数必须不返回值void,传入6个参数: HWND,HICON, LPCTSTR,    LPCTSTR, LPCTSTR, UINT。__stdcall void Func(HWND,HICON, LPCTSTR,    LPCTSTR, LPCTSTR, UINT)
    {
       //implement
       ....
    }int main(void)
    {
    ....
    pRunFileDlg pf = Func;
    pf(......);
    ....
    }或者作为参数传递给其它函数,起callback函数的作用。
      

  2.   

    typedef void (__stdcall *pRunFileDlg)(HWND,HICON, LPCTSTR,    LPCTSTR, LPCTSTR, UINT);定义一个函数指针类型pRunFileDlg,其原型是:
     void __stdcall xxx(HWND,HICON,LPCTSTR,LPCTSTR,LPCTSTR,UINT);具体应用可以参考下例:void __stdcall method_a (HWND hwnd,HICON hIcon,LPCTSTR str_1,LPCTSTRstr_2,LPCTSTRstr_3,UINT iCode)

       // 具体内容随便
    }pRunFileDlg ptr_method_a = method;// call
    ptr_method_a(hwnd,hIcon,str_1,str_2,str_3,iCode);
      

  3.   

    修正:pRunFileDlg ptr_method_a = method_a; 
    Sorry, 手误.
      

  4.   

    定义了一个类型,这种类型的变量是一种指向函数的指针,且所指的函数必须是如下类型:
    void __stdcall funName(HWND,HICON, LPCTSTR,    LPCTSTR, LPCTSTR, UINT);
      

  5.   

    函数指针,typedef void (__stdcall *pRunFileDlg)(HWND,HICON, LPCTSTR,    LPCTSTR, LPCTSTR, UINT);
    定义一个指针,pRunFileDlg,这个指针指向一个函数,可以用这个指针来调用这个函数。