使用const char * const将void指针传递给函数

时间:2013-10-25 14:01:45

标签: c++ pointers casting

好的我有一个变量

void * vp

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

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

findIDType(const char* const pointer)并希望将pv传递为findIDType(pv)

使用GNU 2.95.3编译

不能使用任何其他编译器btw。

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

如何施展?从void*const char* const

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

1 个答案:

答案 0 :(得分:2)

你必须使用reinterpret_cast,并转换为你希望传递的完整类型,这应该有效:

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

但正如评论中所提到的,static_cast也会起作用,实际上更可取:

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