これはCです。私は多くのファイルで使用するハンドルを持っています(これを と呼びましょうtype_handle)。多くの関数は入力パラメーターとして受け取るため、すべてのファイルをやり直す必要があるように設計を大幅に変更したくありません。だから私の考えは、、、そして次に渡すことです。を取得する関数を変更する必要がないように、必要なすべてのタイプのある種の関数が必要です。これをどのように設計すればよいですか?enummy_typetype_handleintfloatdoublemy_typeuniontype_handle
typedef enum
{
INT = MPI_INT,
INT8 = MPI_INT8_T,
INT16 = MPI_INT16_T
}
types_t;
typedef union {
my_type dtype;
types_t etype;
} type_handle;
これを、 dtype が type の派生データ型である場合と同様にany_func(type_handle type)受け入れることができるように設計したいと考えています。any_func(INT)any_func(dtype)my_type