Fac*_*con 13 c++ arrays function-pointers
首先,我有这样的功能.
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)
我的代码更大,更复杂,这是一个总结
然后我为数组创建我的typedef:
void (*FP)();
你typedef
以前错过了void
吗?
以下是我的编译器.
void func1(){}
void func2(){}
void func3(){}
typedef void (*FP)();
int main()
{
const FP ar[3]= {&func1, &func2, &func3};
}
Run Code Online (Sandbox Code Playgroud)
XH
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];
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8681 次 |
最近记录: |