Do unions have a control structure to test which member is currently in use (or if it has any at all)? I'm asking this because undefined behavior is never a good thing to have in your program.
No, no such mechanism exists off-the-shelf. You'll have to take care of that yourself.
The usual approach is wrapping the union
in a struct
:
struct MyUnion
{
int whichMember;
union {
//whatever
} actualUnion;
};
So you have MyUnion x;
and x.whichMember
tells you which field of x.actualUnion
is in use (you have to implement the functionality though).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With