所以我在我的 C++ 应用程序中使用这个 C 库,其中一个函数返回一个 void*。现在我对纯 C 不是最敏锐的,但听说 void* 可以转换为几乎任何其他 * 类型。我也知道我希望这个函数的末尾有一个浮点数。
所以我将 void* 转换为 float* 并取消引用 float*,崩溃。该死!我调试代码并在 gdb 中让它评估(float)voidPtr
和降低,看看这个值是我期望和需要的!
但是等等,在编译期间不可能相同。如果我写float number = (float)voidPtr;
它不会编译,这是可以理解的。
所以现在的问题是,我如何让我的漂浮物脱离这个该死的虚空*?
编辑:多亏了 H2CO3,这个问题得到了解决,但我看到很多答案和评论出现并且不相信我可以在 gdb 中做 (float)voidPtr。这是屏幕截图。