Я нашел похожий ответ на мою проблему здесь .Но это не работает так, как я ожидал.Таким образом, у меня есть
void funcA(void) {
// do sth.
}
void funcB(void) {
// do sth.
}
typedef struct tasks {
int val;
void (*Start)(void);
} tasks;
и
const tasks tasklist[] =
{
{0, funcA},
{3, funcB}
};
for (i=0; i < task_cnt; i++ )
if (tasklist[i].val == 3)
tasklist[i]->Start();
Но в "...-> Start ();"Компилятор говорит, что «выражение должно иметь тип указателя».
Есть идеи?Спасибо