我如何在没有其他变量的情况下通过它的地址来传递它?
(VkSurfaceKHR)surface.get()
我做不到:
&(VkSurfaceKHR)surface.get() /*or*/ &((VkSurfaceKHR)surface.get())
问题是,(VkSurfaceKHR) surface.get()
将创建一个新的临时VkSurfaceKHR
对象(也称为右值),该对象仅在表达式的持续时间内有效。
正如编译器正确地告诉您的那样,您不能使用rvalues的地址,但是需要一个lvalue,即一个命名变量。