【发布时间】:2018-06-04 07:07:16
【问题描述】:
我正在尝试将void * 类型的值类型转换为uint32,但编译后出现错误:
错误:从指针转换为不同大小的整数
【问题讨论】:
-
在 64 位系统上,
sizeof(void*)可能等同于 64 位;即大于uint32。 -
是的,但必须传递给一个接受 uint32 类型参数的函数
-
如果你有两升的东西要放入一升的瓶子里,你将不得不重新考虑你的问题,或者扔掉一半。
-
@D.Prakash 如果演员成功,你会怎么做?该函数只会获得 一半 的值,因此无论如何它都无法重建指针。
-
@D.Prakash。不要使用
uint64;这只是把罐子踢到了路上。请改用uintptr_t类型。