本文介绍了你如何声明函数指针的常量数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
首先,我得功能是这样的。
无效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];
};
这篇关于你如何声明函数指针的常量数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!