ich folgenden Ansatz versuchen einen Griff zu konvertieren * für ungültig zu erklären und dann zurück in den Griff die folgende Art und WeiseKonvertieren uint64_t zu void * und zurück
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
Allerdings, wenn ich das tue, ich bin in der Lage zu zurückzufordern hInt
:
uint64_t hIntBack = reinterpret_cast<uint64_t>(hPoint)
ich nicht sicher bin ich den Unterschied zwischen den beiden Ansätzen verstehen.
'void * HRichten = reinterpret_cast (Hint);' => 'void * HRichten = reinterpret_cast (&hInt);' –
user0042
Ähnliche Frage zu https://stackoverflow.com/questions/45657427/access-violation-casting-to-void-and-back –