C++11 range based for似乎不能处理指针数组?
#include<iostream>
#include<iterator>
using namespace std;
int main()
{
//int buf;//OK!
int* buf=new int;
for(int& i:buf)
cout<<i;
return 0;
}
这段代码,用gcc 的C++11编译出错,说"begin" was not declared in this scope
很奇怪,用int buf数组的时候编译就没有问题,buf变成指向数组的指针就编译不过了。这是为什么? buf不是“指针数组”,而是“指针”。
它根本不存在长度信息
页:
[1]