abivan (09.10.2009 09:14, просмотров: 163) ответил abivan на адрес ф-и это константа вот ее то и нужно вставить в case
вообще недоработочка в сях, для if нормально константа генерится, а для switch не хочет опять извращением придется заниматься.
typedef void (*PF)(void *par);
typedef struct{
PF pF;
}t_ControlMsg;
#define SWITCH(x) for(;;)
#define CASE(x) if(ControlMsg.pF==x)
#define DEFAULT
void TaskADC (void *par){
int i;
t_ControlMsg ControlMsg;
ControlMsg.pF=TaskADC;
SWITCH(ControlMsg.pF){
CASE(TaskADC){
i++;
break;
}
}
}
или от идеи придется отказаться.