相关疑难解决方法(0)

你如何声明一个const数组的函数指针?

首先,我有这样的功能.

void func1();
void func2();
void func3();
Run Code Online (Sandbox Code Playgroud)

然后我为数组创建我的typedef:

void (*FP)();
Run Code Online (Sandbox Code Playgroud)

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

FP array[3] = {&func1, &func2, &func3};
Run Code Online (Sandbox Code Playgroud)

我想使它成为一个常量数组,在"FP"之前使用const,但我有这个错误消息:

错误:无法将'void(*)()'转换为'void(*const)()'inialization

PD:抱歉我的英语不好.

编辑:

XH

typedef void (*FP)();

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

x.cpp

const FP x::array[3] = {&x::func1, &x::func2, &x::func3};
Run Code Online (Sandbox Code Playgroud)

我的代码更大,更复杂,这是一个总结

c++ arrays function-pointers

13
推荐指数
2
解决办法
8681
查看次数

标签 统计

arrays ×1

c++ ×1

function-pointers ×1