转换对象的地址

问题描述 投票:0回答:1

我如何在没有其他变量的情况下通过它的地址来传递它?

(VkSurfaceKHR)surface.get()

我做不到:

&(VkSurfaceKHR)surface.get() /*or*/ &((VkSurfaceKHR)surface.get())
c++
1个回答
0
投票

问题是,(VkSurfaceKHR) surface.get()将创建一个新的临时VkSurfaceKHR对象(也称为右值),该对象仅在表达式的持续时间内有效。

正如编译器正确地告诉您的那样,您不能使用rvalues的地址,但是需要一个lvalue,即一个命名变量。

© www.soinside.com 2019 - 2024. All rights reserved.