下面的代码编译后会报错误:
error C2552: 'ivec' : non-aggregates cannot be initialized with initializer list
vector<int> ivec={0,1,2,3,4,5,6,7};
原因是非聚合对象不能使用初始化列表。只有聚合对象才可以这样使用。
参考:http://blog.csdn.net/duanwuqing/article/details/7075005
聚合对象定义为:
1. 数组
2. 不包含 ( 构造函数、private和protect、基类、虚函数 )的类、结构体和联合体。
还有使用vc6进行编译的时候,如果structrue内部含有string等对象,直接初始化也会抛出该错误