我有这两种结构......
typedef struct{
MY_SECOND_STRUCT s1;
}MY_FIRST_STRUCT;
typedef struct{
int s1;
}MY_SECOND_STRUCT;
Run Code Online (Sandbox Code Playgroud)
我更喜欢这个订单,我不想切换它们.但编译器此刻不知道MY_SECOND_STRUCT,我收到错误
错误:'MY_SECOND_STRUCT'之前的预期说明符限定符列表
我试过在顶部添加声明
struct MY_SECOND_STRUCT;
Run Code Online (Sandbox Code Playgroud)
也将定义改为
typedef struct{
struct MY_SECOND_STRUCT s1;
}MY_FIRST_STRUCT;
Run Code Online (Sandbox Code Playgroud)
但它没有帮助.
我更喜欢这个订单,我不想切换它们.
你必须切换它们.
如果MY_FIRST_STRUCT有一个类型的成员变量,MY_SECOND_STRUCT则MY_SECOND_STRUCT必须在定义之前定义并完成(不仅仅是声明和不完整)MY_FIRST_STRUCT.