2015-01-14 120 views

回答

3

由于void *是通用指针,所以指针可隐式转换为void *。但是,void **不是通用指针指针。

C FAQ 4.9解释了为什么在C中没有通用指针指向指针类型,我认为它也适用于C++。

+0

谢谢你,这是一个教育阅读。我仍然无法想象一个架构在做'(void **)&(Foo *)'是无效的,但标准禁止这个事实是需要考虑的事情。 –

+0

@VioletGiraffe架构并不重要。这样做(至少有真正的变量)是未定义的行为,编译器理论上可以做任何事情。 – 2501

相关问题