What I've written is:
typedef enum _MyStatus
{
MY_STATUS_OK = 0,
MY_STATUS_GENERAL_ERROR = -1,
} MyStatus;
typedef MyStatus (*MyCallback)(My开发者_如何学CSettings *settings);
typedef struct _MySettings
{
MyCallback callback;
} MySettings
However, it wouldn't compile as when defining MyCallback it doesn't know of MySettings. If I swapped MySettings and MyCallback, it would be the other way round: MySettings wouldn't know of MyCallback.
How generally is this sort of problem handled in C?
Thanks!
How about putting this line at the top:
typedef struct _MySettings MySettings;
This C FAQ: How can I define a pair of mutually referential structures? might be of use.
精彩评论