我想知道是否可以获取我想要动态生成的类型。例如。在c中输入类型
void *ptr;
typedef struct {
..
common_field;
..
} some;
typedef struct {
..
common_field;
..
} some_other;
现在我想知道我是否可以强制转换ptr
键入一些或some_other动态。
正是我想知道的是,如果有可能有一个宏,TYPE_CAST(comdition)
这让我的类型类似如下图所示:
(TYPE_CAST(condition)) ptr->common_field
应相当于
((some *) ptr)->common_field or ((some_other *) ptr)->common_field
基于condition
下面的不起作用,只是给这个,以便它可以清楚地理解c比英语:
TYPE_CAST(condition) ((condition) ? (some *) : (some_other *))
可以做些什么沿着这些线。
谢谢。
这在运行时是不可能的,但是使用宏它应该是可能的(尽管我不确定你为什么要这样做)。 –