vs2010中的向量初始化

时间:2014-03-13 08:25:01

标签: c++ visual-studio-2010 vector initialization initializer-list

#include <iostream>
#include <vector>
#include <stdio.h>
using namespace std;
class M {
    vector<string> s;
    public:
    M(){
        s = {"abc", "abc", "abc", "abc", "abc"};
    }
};

int main(){
    return 0;
}

代码可以在c9中编译,但是在vs2010中,它无法成功编译。为什么?

2 个答案:

答案 0 :(得分:3)

MS VC ++ 2010不支持std::initializer_list作为标准容器成员函数的参数。

答案 1 :(得分:1)

你可以按照这个,

static const string arrStr[] = {"abc", "abc", "abc", "abc", "abc"};
vector<string> s(arrStr, arrStr + sizeof(arrStr)/sizeof(arrStr[0]));