Нет другого синтаксиса, с которым я знаком.Честно говоря, прямой доступ к члену объединения довольно ясен и лаконичен, как есть.
Я предполагаю, что причина неявного приведения заключается в неком правиле, согласно которому технически "неопределенное поведение" писать одному членуобъединение, затем считывание из другого члена.
Неявно приведенный тип может быть не последним записанным.Хотя это прекрасно компилируемый код и он , вероятно, будет работать нормально, компилятор, в принципе, не должен автоматически или неявно делать что-то, противоречащее самим правилам, которые он применяет.