关于数组名的问题
请大家帮我看一下,这样做为什么会报错,数组名应该可以作为首元素的地址吧?#include <iostream>
#include <stdio.h>
using namespace std;
int array = { 1,2,3,4,5 };
int *ptr = array;
int main()
{
cout << *ptr + 1 << endl;
cout << *(ptr + 1) << endl;
}
报错信息:“array”不明确
using namespace std;造成的名字冲突
#include <iostream>
#include <stdio.h>
int array = {1, 2, 3, 4, 5};
int *ptr = array;
int main()
{
std::cout << *ptr + 1 << std::endl;
std::cout << *(ptr + 1) << std::endl;
}
人造人 发表于 2019-10-4 17:46
using namespace std;造成的名字冲突
谢谢谢谢,请教一下,为什么会造成冲突呢?在cout前加std::不是就等价于在最开始加上using namespace std了嘛 linklate 发表于 2019-10-4 19:15
谢谢谢谢,请教一下,为什么会造成冲突呢?在cout前加std::不是就等价于在最开始加上using namespace std ...
std空间已经有了array这个名字了
下面这样就可以
#include <iostream>
#include <stdio.h>
int arr = {1, 2, 3, 4, 5};
int *ptr = arr;
int main()
{
std::cout << *ptr + 1 << std::endl;
std::cout << *(ptr + 1) << std::endl;
}
页:
[1]