Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
工会是否有控制结构来测试当前正在使用哪个成员(或者是否有任何成员)?我问这个是因为未定义的行为在你的程序中从来都不是一件好事。
不,不存在现成的这种机制。你必须自己处理。通常的方法是将uniona包装起来struct:
union
struct
struct MyUnion { int whichMember; union { //whatever } actualUnion; };
因此,您拥有MyUnion x;并x.whichMember告诉您x.actualUnion正在使用哪个字段(尽管您必须实现该功能)。
MyUnion x;
x.whichMember
x.actualUnion