如何获取返回的右值引用的地址?

问题描述 投票:0回答:1
#include <iostream>
int&& func() {return 7;}
int main() {
  std::cout << &func();
} 

即使使用return std::move(7),也会产生错误。就是说func()是一个右值(好像我在做&7)。

c++ rvalue-reference
1个回答
0
投票

这是说func()是一个右值

嗯,它一个右值。

(好像我在做&7)。

至少在您无法在右值上使用&7的意义上,就好像您正在执行&一样。实际上,您正在尝试使用对临时int(从文字上初始化)的悬挂引用作为左值。

此代码没有意义。我不知道您要做什么,但您做不到。

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