我想知道是否可以獲取我想要動態生成的類型。例如。在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 *))
可以做些什麼沿着這些線。
謝謝。
這在運行時是不可能的,但是使用宏它應該是可能的(儘管我不確定你爲什麼要這樣做)。 –