3

好的,我有一个变量

void * vp

通过一个函数 proccessData (void * vp)

我有一个接受以下作为参数的函数

findIDType(const char* const pointer)并想通过 pv 作为findIDType(pv)

用 GNU 2.95.3 编译

顺便说一句,不能使用任何其他编译器。

问题是编译器没有告诉我为什么它是不可接受的,它只是打印出一条cannot没有任何有用描述的消息。

怎么投呢?从void*const char* const

我试过了(char*)pv(const char*)pv(const char* const)pv没有任何运气

4

1 回答 1

3

您必须使用reinterpret_cast, 并转换为您想要传递的完整类型,这应该有效:

const char* const ptrTpPass = reinterpret_cast<const char* const>(vp);

但正如评论中提到的,static_cast也可以工作,实际上更可取:

const char* const ptrTpPass = static_cast<const char* const>(vp);
于 2013-10-25T14:07:21.787 回答