我有一个C ++函数:
void Func(void* param)
{
int a;
a= (int*)param;
}
我认为我所做的 a =(int *)param; 是正确的。但不知道为什么我得到编译错误“无法从int *转换为int。
任何人都可以帮助我。
提前致谢。
答案 0 :(得分:3)
因为a
是int
而不是int*
。你的意思是:
int a;
a = *((int*)param);
代替?
答案 1 :(得分:1)
将param
投射到(int*)
后,您需要取消引用将其用作变量:
int a;
int* intParamPtr = (int*)param;
a = *intParamPtr; // * is dereference operator