本文介绍了你如何声明函数指针的常量数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

首先,我得功能是这样的。

 无效func1的();
无效FUNC2();
无效FUNC3();

然后,我创造我的typedef的数组:

 无效(* FP)();

如果我写的函数指针数组正常的,应该是这样的:

  FP阵列[3] = {&放大器; func1的,和放大器; FUNC2,&安培; FUNC3};

我要使它成为一个常量数组,使用常量FP之前,但我得到这个错误信息:

PD: Sorry my bad English.

EDIT:

x.h

typedef void (*FP)();

class x
{
 private:
  int number;
  void func1();
  void func2();
  void func3();
  static const FP array[3];
}

x.cpp

const FP x::array[3] = {&x::func1, &x::func2, &x::func3};

My code is more large and complex, this is a summary

解决方案

Did you miss typedef before void?

Following works on my compiler.

 void func1(){}
 void func2(){}
 void func3(){}

 typedef void (*FP)();


 int main()
 {
     const FP ar[3]= {&func1, &func2, &func3};
 }


EDIT

(after seeing your edits)

x.h

 class x;
 typedef void (x::*FP)(); // you made a mistake here

 class x
 {
   public:
      void func1();
      void func2();
      void func3();
      static const FP array[3];
 };

这篇关于你如何声明函数指针的常量数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-27 19:09
查看更多