-1
私はvoid *にハンドルを変換するには、次のアプローチをしようとしていますし、私はこれを行う場合、私ができる午前、uint64_tをの変換に戻し、その後void *に、バック
uint64_t hInt = 154071804376; //assume this is a valid memory location
void* hPoint = reinterpret_cast<void*>(hInt);
uint64_t hIntBack = *static_cast<uint64_t*>(hPoint); unable to recover hInt here, getting some other number 140727986249696
ただし、次のように扱いますhInt
を回復:
uint64_t hIntBack = reinterpret_cast<uint64_t>(hPoint)
私は二つのアプローチの違いを理解して確認していません。このコードで
' void *型hPoint = reinterpret_castは(ヒント)エラーをもたらすでしょう –
user0042
https://stackoverflow.com/questions/45657427/access-violation-casting-to-void-and-backに似たような質問 –