Инициализировать любого члена союза (назначенный инициализатор) - PullRequest
0 голосов
/ 27 апреля 2020

При объявлении объединения, например,

union u
{
  int x;
  float y;
};

, вы можете создать объединение следующим образом:

u integer { .x = 10 };
u fraction { .y = 10.f };

Предположим, у меня есть указатель на член,

auto union_member_pointer = &u::y;

Какой синтаксис позволяет мне абстрактно назначать этому члену объединения? т.е.

u unknown { .*union_member_pointer = { } }; // doesn't work

1 Ответ

2 голосов
/ 27 апреля 2020

Указанная инициализация не может быть динамической c. Он применяется к именам членов, а не к указателям на членов или к чему-либо в этом роде.

...