void * 如何返回不同类型的数据

void * 怎么返回不同类型的数据?
例如,我想用同一个函数:
void get_data(int dat_type,void * dat_out)

可否实现dat_out返回的类型为任何类型,例如int,struct等。

int dat;
get_data(is_int,(void*)&dat){
  //怎么实现? 如果为int*参数,则可以*dat = 23?
}

struct aaa;
get_data(is_struct,(void*)&aaa){
  //怎么实现?
}


------解决方案--------------------
哦,不好意思,思想是一样的,反过来就可以了。

引用:
引用:大概是这样:
C/C++ code?1234567891011121314151617181920212223242526272829void get_data(int dat_type,void * dat_out){    switch(dat_type)    {    case TYPE_INT:        int_da……