私はプログラム検証ソフトウェアを実行していて、どのメンバーがアクティブであるかについて何か言いたいと思います。だから私はタグ付きユニオンとしてそれを書こうとしました:(タグ付き)ユニオンのアクティブメンバー
struct my_struct {
enum my_tag {v1, v2};
struct{
enum my_tag tag;
union {
type1 v1;
type2 v2;
}value;
}my_taggedunion;
};
そして、プログラム検証ソフトウェアを実行しています。私は、my_taggedunion.tag == v1
の場合、ユニオン内のアクティブなメンバーはv1
でなければならないという要件を追加したいと思います。
私のような何か書くしようとしている「my_taggedunion.tag == v1
その後、my_taggedunion.active_member == v1
場合を。結論の正しい構文は何ですか?
あなたが求めていることは明確ではありません。フィールド 'my_taggedunion.active_member'はありません。 'my_taggedunion.tag == v1'のときに正確に何をしたいですか? – kaylum
あなたのプログラム検証ソフトウェアに依存しませんか? – melpomene
正確には、アクティブなメンバーが何であるかを指定する方法を尋ねています –