类型转换并将 void 指针变量分配给 VC++ 中的整数变量

Typecasting and assigning a void pointer variable to an Integer variable in VC++.

本文关键字:变量 VC++ 整数 分配 void 指针 类型转换      更新时间:2023-10-16

我有一个C++函数:

void Func(void* param)
{
   int a;
   a= (int*)param;
}

我认为我所做的 a= (int*)参数; 是正确的。但是不知道为什么我会收到编译错误,因为"无法从 int* 转换为 int。

谁能在这方面帮助我。

提前谢谢。

因为aint而不是int*。 你的意思是:

int a;
a = *((int*)param);

相反?

param转换为 (int*) 后,需要取消引用它以将其用作变量:

int a;
int* intParamPtr = (int*)param;
a = *intParamPtr; // * is dereference operator