尝试以下操作时,我将获得访问冲突读取位置。我究竟做错了什么?
uint64_t hInt = 2901924954136;
void* hPoint = reinterpret_cast<void*>(hInt);
uint64_t hIntBack = *static_cast<uint64_t*>(hPoint); //get access violation
here
最佳答案
我猜您是要在hInt
中存储hPoint
的地址,而不是hInt
的值。
uint64_t hInt = 2901924954136;
void* hPoint = reinterpret_cast<void*>(&hInt);
// ^ addressof operator
关于c++ - 访问冲突强制转换为void *并返回,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45657427/