Всем привет. Сделал массив структур с указателями на функциии:
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; //без прараметра, то компилируется без ошибок. Спрашивается как сделать с передачей параметра ?
|