class A
{
public:
void (*m_fun[256])(void);
void A11();
void A12();
};A()
{
m_fun=A11;
}这样为何不对?
成员函数指针该咋用呢?

解决方案 »

  1.   

    void   (*m_fun[256])(void); 
    没看懂
      

  2.   

    void   (*m_fun)(void); 就可以了
      

  3.   

    任何程序必须被装入到内存中才能被运行,一个程序由代码和数据两部分组成。指向一个一般变量的指针、指向数组的指针、指向字符串的指针都是指向数据的指针。代码在运行时也是存放在内存单元中的,因此也有地址,即指针。C语言程序由函数组成,指向代码的指针被称为函数指针。    返回值类型  (*指针变量名)( )    例一、使用函数指针调用函数。#include "Stdio.h"
    #include "Conio.h"
    #include "Math.h"int main(void)
    {
      float (*p)()=sin;
      printf("%f",(*p)(3.14159/3));
      getch();
      return 0;
    }
        程序中定义了一个指向函数的指针变量p,该指针被初始化为指向标准函数sin。然后通过指针调用sin函数计算60度的正弦值。    函数指针可以指向标准函数,也可以指向用户自定义函数。见例二。    例二、函数指针指向自定义函数。#include "Conio.h"
    #include "Math.h"
    int fun(int x,int y)
    {
      if(x>y) return x;
      else return y;
    }
    int main(void)
    {
      int a,b,(*p)();
      p=fun;
      scanf("%d,%d",&a,&b);
      printf("%d",(*p)(a,b));
      getch();
      return 0;
    }