我有一个函数const void* getData()
,它返回一个指向常量数据的指针const void*
我需要为这个函数编写一个包装器,它获取一个(输出)参数,它应该在其中返回上述指针。
void wrapGetData([type] ppData) {
*ppData = getData();
}
[type]
应该是什么?
void ** 不适用,因为 getData() 返回指向 const 的指针
最佳答案
如果getData()
返回void const *
,那么[type]
应该是void const * &
:
void wrapGetData(void const * & ppData)
{
ppData = getData();
}
注意&
是必须的,因为ppData
是输出参数。
你可以这样调用这个函数:
void const * output;
wrapGetData(output);
这与您必须调用函数的其他解决方案有点不同:
wrapGetData(&output); //if [type] = const void **
请注意,const void*
和 void const*
是同一回事。所以不要混淆语法。
这与您必须调用函数的其他解决方案有点不同:
wrapGetData(&output); //if [type] = const void **
希望对您有所帮助。
关于c++ - 指向常量的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14183158/