我看到有一些结构定义的时候有这么写的AAA* (PASCAL* m_BBB)();这个这么写算是方法还是变量?它是什么意思?

解决方案 »

  1.   

    m_BBB是一个函数指针变量
    类型是AAA*(PASCAL*))();
      

  2.   

    AAA* (PASCAL* m_BBB)(); m_BBB是一个函数指针,他没有参数,返回值为AAA*类型
    调用规范是PASCAL调用规范
      

  3.   

    是不是就是(AAA*(PASCAL*)(void))类型?就是先将m_bbb转换为void*,然后再将它转换为AAA*?
      

  4.   

    //比如一个函数
    PASCAL AAA* BBB(void);
    //你要调用它,就可以定义一个函数指针指向它
    AAA* (PASCAL* m_BBB)();