首先,开发平台:visual studio 2010 ,language :C.
在a.h中定义
typedef struct tagstruct
{
int a;
} STRUCTTYPE;
在另外的b.h中声明一个外部引用函数时,
void func( int x, STRUCTTYPE st);
编译报错:name in formal parameter list illegal
而在对应的b.c中该函数编译不会报错。
把函数声明修改为:void func(int x, struct tagstruct st);
编译通过。
现在看来,在visual studio 2010中,该别名并没有被替换,导致编译错误。
另外一点比较奇怪,修改为:void func(int x, struct STRUCTTYPE st);
编译也是OK的。是否是visual studio 2010有bug,待确认。