This question already has answers here:
incompatible pointer type in C
                                
                                    (3个答案)
                                
                        
                                9个月前关闭。
            
                    
在C代码中,我将LJ_6_12_t **传递给了接受void **参数的函数,但是在编译时收到了-Wincompatible-pointer-types警告以及以下“注释”:


  注意:预期为“ void **”,但参数的类型为“ LJ_6_12_t ** {aka struct **}”


我认为通过类型转换,警告会消失,但是为什么它首先发生呢? void *变量不应该接受任何类型的指针吗?

最佳答案

void *变量不应该接受任何类型的指针吗?


是的,应该并且会,但是您传递给void**,它与void*不同。

关于c - 当将类型化的指针传递给接收void **的函数时,GCC会发出警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56100882/

10-11 23:06
查看更多