Considerar:
typedef union
{
int intval;
const int const_intval;
}myUnion_t;
int main(void)
{
myUnion_t x = {0};
x.intval = 5;
printf("intval = %d\n", x.intval);
printf("const_intval = %d\n", x.const_intval);
}
- O próprio UB é
myUnion_t
definido como é aqui? - Existe alguma atribuição da
intval
UB?
Nenhum dos compiladores testados emite aviso (compilados também com compiladores C++)
EDITAR
A duplicata está relacionada apenas à pergunta 2
, não à principal.