我很抱歉,如果这不是一个足够好的问题(因为我自己的解决方案正常工作,所以我实际上没有问题),但是在这里。
我的意思是,我被带到C上,后来我只学了C++,所以也许我有偏见,但仍然是。在C++中使用正确的方法
在这种特殊情况下,有一个库返回const char*
,而另一个库需要void*
作为输入。所以如果我想打电话给第一个库的结果,我将需要写
second(const_cast<void*>(static_cast<const void*>(first())));
对不对?这是唯一正确的方式,对吧?
您可能不应该将'const char *'传递给'void *'...可能导致错误/不安全。 – Marlon 2012-01-02 09:24:58
不,第二个库不会改变它的输入,它只是想要一个void *作为它的参数。我很抱歉,我没有写这些库,也不能修改它们。 – 2012-01-02 09:34:25