开发者

Circular definition in C

开发者 https://www.devze.com 2023-04-06 16:48 出处:网络
What I\'ve written is: typedef enum _MyStatus { MY_STATUS_OK = 0, MY_STATUS_GENERAL_ERROR = -1, } MyStatus;

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.

0

精彩评论

暂无评论...
验证码 换一张
取 消