有时候定义一种结构体变量时,函数指针成员 ,如果想要所指向的函数的形参却是本结构体,这该如何去实现?
举例:
typedef struct
{
int value;
void (*pCallbackFuntion)(Struct_T * strct);
}Struct_T;
void main(void)
{
Struct_T tem;
}
编译时会出错 error: #20: identifier "Struct_T" is undefined.
解决办法是结构作向前声明。
修改如下:
typedef struct TemStruct Struct_T;
typedef struct TemStruct
{
int value;
void (*pCallbackFuntion)(Struct_T * strct);
}Struct_T;
即可。