Skip to content

Latest commit

 

History

History
12 lines (8 loc) · 454 Bytes

编译-二级指针类型转换与取地址顺序.md

File metadata and controls

12 lines (8 loc) · 454 Bytes

编译问题-二级指针类型转换与取地址顺序

void* ptr = nullptr;

// 需要取ptr的指针(二级指针),并转换成SomePtr形式的二级指针,下面哪个才是正确的?
func((SomePtr*)(&ptr)); // 正确
func(&(SomePtr*)(ptr)); // 错误,先类型转换会成为一个临时变量,然后对临时变量取地址是错误的。

// 类似的,临时变量不能传给引用,是否遇到过这样的问题?