#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中,它无法成功编译。为什么?
答案 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]));