类型转换并将 void 指针变量分配给 VC++ 中的整数变量
Typecasting and assigning a void pointer variable to an Integer variable in VC++.
我有一个C++函数:
void Func(void* param)
{
int a;
a= (int*)param;
}
我认为我所做的 a= (int*)参数; 是正确的。但是不知道为什么我会收到编译错误,因为"无法从 int* 转换为 int。
谁能在这方面帮助我。
提前谢谢。
因为a
是int
而不是int*
。 你的意思是:
int a;
a = *((int*)param);
相反?
将param
转换为 (int*)
后,需要取消引用它以将其用作变量:
int a;
int* intParamPtr = (int*)param;
a = *intParamPtr; // * is dereference operator
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 将数组的地址分配给变量并删除
- 为"adjacent"变量赋值时出现问题
- enum是C++中的宏变量还是整数变量
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 用C++中的一个变量定义一个常量
- 具有奇怪重复模板模式的派生类中的成员变量已损坏
- 我如何克服无声无法更改VC 2013中的路径环境变量
- 将RVALUE-REFERCON与VC 中的局部变量结合
- 在 VC++ 中访问一个文件中声明的变量.(外部关键字用法)
- 类型转换并将 void 指针变量分配给 VC++ 中的整数变量
- 在VC++中确定未初始化的变量
- 在VC++2012中初始化自动变量
- vc++类.静态变量错误,外部符号无法解析
- 在vc++中将变量声明为' extern char[] '传递给函数模板时出错
- 可以用变量no的函数.在vc++中可以重载参数
- vc.net:无法设置双精度变量的值
- 关于 VC++ 和 Sun Studio 中的字段初始化顺序、签名比较和未使用的变量的警告
- 在 VC++ MFC 中使用静态变量时出现问题