Этот заказ невозможен.Вы должны переключить их.
Однако, если вы объявляете элемент указателем, переключение не требуется:
struct MY_SECOND_STRUCT; //forward declaration is required though
typedef struct{
MY_SECOND_STRUCT * s1; //now its a pointer
}MY_FIRST_STRUCT;
Или в C ++ вы можете использовать шаблон как:
template<typename MY_SECOND_STRUCT>
struct MY_FIRST_STRUCT_T
{
MY_SECOND_STRUCT s1;
};
struct MY_SECOND_STRUCT
{
int s1;
};
А когда вы хотите использовать MY_FIRST_STRUCT
, просто используйте это typedef
:
typedef MY_FIRST_STRUCT_T<MY_SECOND_STRUCT> MY_FIRST_STRUCT;
Используйте MY_FIRST_STRUCT
сейчас.: -)