error C2059: syntax error : 'type'

当所定义的宏的名称与实际调用的函数名相近时, 很容易写成一样的(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);

你可能感兴趣的:(error)