我写的是:
typedef enum _MyStatus
{
MY_STATUS_OK = 0,
MY_STATUS_GENERAL_ERROR = -1,
} MyStatus;
typedef MyStatus (*MyCallback)(MySettings *settings);
typedef struct _MySettings
{
MyCallback callback;
} MySettings
但是,它不会像定义MyCallback时那样编译它不知道MySettings。如果我交换MySettings和MyCallback,那将是另一回事:MySettings不会知道MyCallback。
在C中处理这类问题有多普遍?
谢谢!
答案 0 :(得分:7)
如何把这条线放在最上面:
typedef struct _MySettings MySettings;
此C FAQ: How can I define a pair of mutually referential structures?可能有用。