我有这两个结构...
typedef struct{
MY_SECOND_STRUCT s1;
}MY_FIRST_STRUCT;
typedef struct{
int s1;
}MY_SECOND_STRUCT;
我更喜欢这个顺序,我不想调换它们。 但是编译器目前不知道 MY_SECOND_STRUCT,我得到错误
error: expected specifier-qualifier-list before 'MY_SECOND_STRUCT'
我试过在顶部添加声明
struct MY_SECOND_STRUCT;
也将定义更改为
typedef struct{
struct MY_SECOND_STRUCT s1;
}MY_FIRST_STRUCT;
但这并没有帮助。
最佳答案
I prefer this order, I dont want to switch them.
你必须切换它们。
如果 MY_FIRST_STRUCT
有一个类型为 MY_SECOND_STRUCT
的成员变量,那么 MY_SECOND_STRUCT
必须在定义之前被定义和完成(不仅仅是声明和不完整) MY_FIRST_STRUCT
的。
关于c++ - 两个结构的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6984997/