在 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/