Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Массив указателей функций в Си
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
kumle
Всем привет. Сделал массив структур с указателями на функциии:

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

aaarrr
Просто MT[0].taskpointer(1);
kumle
Цитата(aaarrr @ Aug 30 2012, 12:25) *
Просто MT[0].taskpointer(1);



Спасибо! скомпилировалось!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.