#include<iostream>
#include<iterator>
using namespace std;
int main()
{
//int buf[10];//OK!
int* buf=new int[10];
for(int& i:buf)
cout<<i;
return 0;
}
这段代码,用gcc 的C++11编译出错,说”begin” was not declared in this scope
很奇怪,用int buf[10]数组的时候编译就没有问题,buf变成指向数组的指针就编译不过了。这是为什么?
解决方案
20
int*buf
的时候不知道buf的大小
的时候不知道buf的大小
20
for(int*& i:buf)