Abh*_*ury 3 c coding-style compiler-errors callback
我需要在C中定义一个结构和一个回调函数类型,如下所示:
typedef void (*callback)(struct XYZ* p);
struct {
int a;
int b;
callback cb;
} XYZ;
Run Code Online (Sandbox Code Playgroud)
现在这段代码不会编译,因为每个定义都需要另一个.我的意思是,如果回调定义首先出现,它将无法编译,因为它需要定义结构.类似地,如果首先定义结构,则需要定义回调.也许这是一个愚蠢的问题,但有没有一个干净的方法来解决这些问题?
目前我的想法是使用void*作为回调参数,并将其强制转换为回调内的结构XYZ.有任何想法吗?
struct在函数之前声明(尚未定义)typedef:
struct XYZ;
typedef void (*callback)(struct XYZ* p);
struct XYZ { // also fixed an error where your struct had no name
int a;
int b;
callback cb;
};
Run Code Online (Sandbox Code Playgroud)
类似于声明函数原型并在定义之前调用它.
| 归档时间: |
|
| 查看次数: |
3204 次 |
| 最近记录: |