记录 keil4 一个BUG,关于回调函数与宏函数

复现代码块:

u8 demo(u8 a, u8 b, u8 c)
{
    ....
    return 0;
}

u8 callTest(u8 (*func)(u8, u8, u8))
{
    u8 a = 0, b = 1, c = 2;
    return func(a, b, c);
}

#define MyDemo(a, b, c)        demo(a, b, c)
void cmd_test(void)
{
    callTest(demo);   // pass
    callTest(MyDemo); // x.c(x): error:  #20: identifier "MyDemo" is undefined
}

你可能感兴趣的:(经验杂烩)