尝试以下操作时,我将获得访问冲突读取位置。我究竟做错了什么?

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/

10-10 08:08