c++ - 将 void* 转换为 const void**

标签 c++

在 CPP 中我使用了一个 C 库,其中一个方法需要一个 const void **作为参数。

在我的类(class)中,我有一个类型为 void * 的属性.

我尝试通过执行 function(&my_property) 来调用函数但是编译器提示它无法转换 void **const void ** .

为了解决这个问题,我使用了 const cast 并做了 function(const_cast<const void *>(&my_property)) .

我尽量避免强制转换,我想知道是否有一种“干净”的方法可以在不使用 const 强制转换的情况下做到这一点。

最佳答案

正确的解决方案是将 my_property 转换为 const void*。否则,您可能会违反 function 的契约。

关于c++ - 将 void* 转换为 const void**,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66814399/

相关文章:

c++ - 在 C++ 中的 2 个应用程序之间发送和接收数据

c++ - 在 DLL 中注册回调函数

c++ - 在编译时以算法方式初始化 std::array

c++ - g++ 和 clang++ 与在模板类中定义的友元模板函数的不同行为

c++ - C++中的cin缓冲区问题

c++ - 接收控制台输出

c++ - 库作为另一个库的依赖项

c++ - 当主机名不包含 www 时,WinHttp 不工作。 (错误 12029)

c++ - 发送数据问题 TCP/IP

c++ - Qt 更新单个 XML 元素