当所定义的宏的名称与实际调用的函数名相近时, 很容易写成一样的(copy惹的祸), 如果调用了这个宏, 那么编译时就会出现C2059的类型语法错误: error C2059: syntax error : 'type'
例子:
#define IWindowEx_AddRef(p) AEEGETPVTBL(p,IWindowEx)->AddRef(p)
uint32 IWindowEx_AddRef (IWindowEx *pwm);
解决办法: 将二者任何一个改名即可, 比如将上面第二行函数名中的A改成a:
uint32 IWindowEx_addRef (IWindowEx *pwm);