【发布时间】:2019-02-24 22:08:53
【问题描述】:
在下面的代码中-
(考虑到这段代码包含在主函数中,并带有所有必要的标题)
int arr[5] = {10,20,30,40,50};
cout << &(arr);
cout << &(arr+1);
如果我们只保留第一个 cout,它会工作并打印数组的起始地址。
但是如果我们保留第二个 cout 则会出现编译错误。
为什么会这样?
【问题讨论】:
-
@pmg 你是说
&(arr + 1)应该用C 编译,还是说需要printf用C 打印东西? -
“如果我们保留第二个 cout,它会产生编译错误。” - 你是说报告的错误完全无法理解吗?在发布有关错误(尤其是编译错误)的问题时,始终发布错误消息逐字、within your question 以及您认为它的含义或您遇到的错误信息的哪些部分难以理解,因为它们与您的代码相关。
标签: c++ arrays pointers address-operator