Попытка создать пустой конструктор для структуры, в которой переменная-член имеет объединение.Union также имеет структуру и дополнительную переменную в качестве переменных-членов.
Принял несколько подходов, но не удалось.Как я могу создать пустой конструктор для вложенных анонимных структур?Как я могу вызвать переменные-члены потом?
typedef struct test_struct
{
int a;
union {
int b;
struct {
int c;
};
};
} test_struct;
Ниже не скомпилируется
test_struct() : a(10), b(20), c(30) {
}
Ниже задает b и c 30
test_struct() : a(10), b(20) {
c = 30;
}
Вот функция печати
int main(void)
{
test_struct *ts = new test_struct();
printf("%i\n%i\n%i\n", ts->a, ts->b, ts->c);
return 0;
}
Я пытаюсь создать пустой конструктор, который будет печатать 10 20 30 с моим printf ().
РЕДАКТИРОВАТЬ: я получил комментарии о том, как я не могу инициализировать объединение таким образом.Однако полученный мной заголовочный файл (который я вообще не могу изменить) имеет структуры, определенные в такой вложенной структуре.Я не знаю, как идет инициализация, но мой код должен распечатать значения для всех переменных-членов.(a, b и c для приведенного ниже примера кода).Любые подходы / чтение я могу сделать, чтобы достичь этого?