asker160 发表于 2016-06-08 09:30

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变成指向数组的指针就编译不过了。这是为什么?

bruceteen 发表于 2016-06-08 09:38

buf不是“指针数组”,而是“指针”。
它根本不存在长度信息
页: [1]
查看完整版本: C++11 range based for似乎不能处理指针数组?