Я пытаюсь объявить структуру, которая зависит от другой структуры.
Я хочу использовать sizeof
для того, чтобы быть безопасным/педантичным.
typedef struct _parent
{
float calc ;
char text[255] ;
int used ;
} parent_t ;
Теперь я хочу объявить struct child_t
, который имеет тот же размер, что и parent_t.text
.
Как я могу это сделать? (Псевдо-код ниже.)
typedef struct _child
{
char flag ;
char text[sizeof(parent_t.text)] ;
int used ;
} child_t ;
Я пробовал несколько разных способов с parent_t
и struct _parent
, но мой компилятор не принимает.
Как трюк, похоже, это работает:
parent_t* dummy ;
typedef struct _child
{
char flag ;
char text[sizeof(dummy->text)] ;
int used ;
} child_t ;
Можно ли объявить child_t
без использования dummy
?