这是在 C 中。我有一个句柄,我在许多文件中都使用它(让我们称之为它type_handle
),这是一个enum
目前的,但目前我需要扩展它以支持 typedef ed 结构(称为my_type
)。由于许多函数type_handle
都作为输入参数,我不想主要改变设计,所以我需要重做所有文件。所以我的想法是通过int
, float
,double
然后my_type
. 我想要某种union
我想要的所有类型的函数,这样我就不需要修改函数了type_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;
我想以一种any_func(type_handle type)
可以接受any_func(INT)
以及any_func(dtype)
dtype 是派生数据类型的方式来设计它 type my_type
。