如果我有
int a= 5; long b= 10; int count0 = 2; void ** args0; args0 = (void **)malloc(count0 * sizeof(void *)); args0[0] = (void *)&a; args0[1] = (void *)&b;
如何将args [0]和args0 [1]转换为int和long?
例如
int c=(something im missing)args0[0] long d=(something im missing)args1[0]
解决方法
假设你的& a0和& b0应该是& a和& b,并且你的意思是args0 [1]设置long d,你已经存储了一个指向args0 [0]和在args0 [1]中指向b的指针.这意味着您需要将它们转换为正确的指针类型.
int c = *((int *)args0[0]); int d = *((long *)args0[1]);