void ポインタに格納されている正確なバイナリを保持しながら、void ポインタを double にキャストするにはどうすればよいですか? これは でできると思っていましreinterpret_cast<double>(voidp)
たが、g++ ではできません。void ポインターを整数にキャストできることはわかっているので、試してみreinterpret_cast<double>(reinterpret_cast<long>(voidp))
ましたが、明らかにそれも無効です。sizeof(double)
とsizeof(void*)
は両方とも 8 なので、サイズの問題ではありません。これを達成するために私にできることはありますか?
編集: この場合の double は void ポインターによって指されていませんが、/is/ は void ポインターです。ポインター自体には必要なデータが含まれていますが、必要なデータを指していません。