是否需要施展无效?

mat*_*kas 4 c

我让编译器抱怨(警告)关于下面的内容.

我错过了什么吗?因为我认为这不需要演员

char* CurrentCh  = some ptr value;
int size;

size = func(&CurrentCh);
Run Code Online (Sandbox Code Playgroud)

用func这样定义

int func(void** ptr);
Run Code Online (Sandbox Code Playgroud)

编译器警告:

从不兼容的指针类型传递'func'的参数1

谢谢

Fer*_*cio 7

在C中,您可以将任何指针类型传递给期望void*的函数.它所说的是"我需要一个指向某个东西的指针,它指的是什么并不重要".而void**说"我需要一个指向void*的指针,而不是指向另一个指针类型的指针".