高手进来,简单的函数指针问题,UP有分
我觉得是怪异的diab C++编译器(不是MS, GCC的编译器)问题,也许高手看来不是。
看看怎么修改代码来 对付这个怪异的编译器?
如下代码,总是把函数入口指针解析为 void (*)() 而不是 void *
long IsrAddHandler(unsigned long vector, void *handler, void *arg);
void (*isr_ptr)(void);
extern "C" unsigned long GPIO_interrupt_test(unsigned long)
{
isr_ptr = GPIO_interrupt_isr;
IsrAddHandler(V_PC6,isr_ptr,0);
}
"src/afe.cc", line 181: error (etoa:4167): argument of type "void (*)()" is
incompatible with parameter of type "void *"
IsrAddHandler(V_PC6,isr_ptr,0);
^