WORD Get8(WORD a,WORD b)
{}
short Get16(short a,short b)
{}float Get32(float a,float b)
{}这样三个函数, 怎么把他们放到一个函数数组里面???谢谢!

解决方案 »

  1.   

    如果不知道传递的参数是什么类型, 用什么代表?
    ================
    void *肯定可以
      

  2.   

    void没问题
    我觉得这样void (*fun)(...)
      

  3.   

    其实没有必要做那么麻烦,假如你使用模板的话:
    template<class T>
    T Get(int bits, T a, T b)//bits = 8,16 or 32
      

  4.   

    WORD Get8(WORD a,WORD b)
    {}
    short Get16(short a,short b)
    {}float Get32(float a,float b)
    {}-----------怎样声音一个函数指针, 用来指向这3个函数的任意一个????
      

  5.   

    “怎样声音一个函数指针, 用来指向这3个函数的任意一个????”
    函数指针,它的参数同样是不同的;
    WORD* pf1(WORD a,WORD b);
    short* pf2(short a,short b);
    float* pf3(float a,float b);
    然后再分别指向不同的函数。
    这不是多此一举吗?!!
      

  6.   

    用一个二元的数组存放函数指针(为void*,而不是函数类型)和一个枚举型。
    返回值后通过获取对应的枚举型来强制转换。用不用模板要看实际情况,不是什么环境都能使用模板。如果纯C或者某些嵌入平台就不支持。