Първо, имам функции като тази.
void func1();
void func2();
void func3();
След това създавам моя typedef за масива:
void (*FP)();
Ако напиша нормален масив от указатели на функции, той трябва да бъде нещо подобно:
FP array[3] = {&func1, &func2, &func3};
Искам да го направя постоянен масив, използвайки const преди "FP", но получавам следните съобщения за грешка:
грешка: не може да преобразува 'void ( * )()' в 'void ( * const)()' инициализация
PD: Съжалявам за лошия ми английски.
РЕДАКТИРАНЕ:
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};
Моят код е по-голям и сложен, това е обобщение