Всем привет. Сделал массив структур с указателями на функциии:
struct myTasks {
unsigned char id;
unsigned char state;
unsigned char cont;
void (*taskpointer)(unsigned char cont);
};
struct myTasks MT[MAX_TASKS];
extern void Task_0(unsigned char cont);
extern void Task_1(unsigned char cont);
extern void Task_2(unsigned char cont);
MT[0].taskpointer = Task_0;
MT[1].taskpointer = Task_1;
MT[2].taskpointer = Task_2;
Затем хочу вызвать в программе допустим функцию Task0:
(void*)MT[0].taskpointer(1); //1-это параметр передаваемый в ф-ю
И компилятор выдает ошибку Illegal cast-operation.
Причем если написать: (void*)MT[0].taskpointer; //без прараметра, то компилируется без ошибок.
Спрашивается как сделать с передачей параметра ?