我在看一个程序,我发现了这个函数:
void** function(void**)
我的问题是我可以提供什么样的参数以及我的返回值应该是什么?
*更新!!! *
我能读懂它,我知道它可以是任何类型的指针的指针,问题是如何使用它? (我刚刚编辑了标题) 提前致谢 !
最佳答案
函数声明:
void **functionName( void**);
... 读作:“functionName
是一个传递双空指针并返回双空指针的函数”。它被传递一个双空指针并返回一个双空指针。
在通用 ADT、比较函数、销毁函数等中看到空指针是非常常见的(省略了这个细节,但它很重要——在 OP 注释中提到)。
示例(无意义的函数):
将此视为您的数组。假设您想要将第一个元素变为字符串“Hai”而不是“Hello”(这太经典了)。
char *arr_of_str[] = { "Hello", "Hi", "Hey", "Howdy" };
...那么你的函数如下:
void **functionName( void** ptr ) {
char **ptr_char = ptr;
( *ptr_char )[ 0 ] = "Hai";
return ptr;
}
关于c++ - 我如何使用 void** 函数 (void**),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18227828/