C++中标准库类型vector的初始化化问题
我最近在看《C++ primer 第5版》这本书,看到vector这一节,上面说vector对象可以进行列表初始化,如下:
vector<string> ia{"hello","world"};
但是用vs2012编译试了一下,发现编译时会报错,代码如下:
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
int main()
{
using namespace std;
vector<string> ia{"hello","world"};
for(auto c:ia)
cout<<c<<" ";
return 0;
}
报错信息如下:
1>e:\c++\sample2\sample2\sample2.cpp(14): error C2601: “ia”: 本地函数定义是非法的
1> e:\c++\sample2\sample2\sample2.cpp(11): 此行有一个“{”没有匹配项
1>e:\c++\sample2\sample2\sample2.cpp(14): error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1>e:\c++\sample2\sample2\sample2.cpp(16): error C2065: “ia”: 未声明的标识符
那位热心的朋友帮忙看一下,是什么问题造成的?谢谢