2019-12-30 19:26发布
void testInt(int a){ printf("testInt a = %d " , a); } void testFloat(float a){ printf("testFloat a = %f " , a); } void run(){ void* funp; funp = testInt; (*(u32(*)())funp)(3); }
javenreal 发表于 2017-3-5 22:38 testFloat这样的函数不要用值传。参数用void *,在函数内再转换成int *或float *
最多设置5个标签!
之前的做法是:
先取地址-》再转为对应类型的指针类型-》再取值
这样做一直没问题。但是弊端就是只能转成固定的数据类型,而不是根据数据的不同转换成不同的数据类型。
一周热门 更多>