内存地址(参考)未在终端中显示

时间:2013-11-15 21:08:09

标签: c++ reference char

我正在尝试在显示屏上输出一个简单的char地址,但使用&无效:

#include <iostream>
using namespace std;
typedef int no;
typedef char nose;
typedef void laps;
laps noname(nose &boogers);
no main(no args, nose**LOC[])
{
cout << "Try ";
nose boogers = 't';
noname(boogers);
}
laps noname(nose &boogers)
{
cout << &boogers;
}

我已经通过删除laps参数的&符号来尝试它,但&boogers数据无论如何都不起作用,因为在控制台上它只显示“t”字符而不是地址。

我在这里做错了吗?

JSYK:编辑很好,没有任何警告。我只是想知道为什么我没有得到地址而不是值。

1 个答案:

答案 0 :(得分:0)

定义引用后,无法引用引用本身,只能引用它引用的对象。这就是c ++的运作方式。我怀疑这是因为引用并不是要改变,这是它们与指针区别的一个方面。不允许您访问更改内存地址。