C中的循环定义
我写的是:
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中处理这类问题有多普遍?
谢谢!
把这条线放在最上面怎么样:
typedef struct _MySettings MySettings;
这个C FAQ:如何定义一对相互参照的结构? 可能有用。