STL映射初始化

时间:2016-07-02 20:18:36

标签: c++

当我尝试编译程序时出现此错误。这与我构建地图的方式有关,但我真的看不出错误:

error: expected identifier before numeric constant 
map <int , vector <int> >  radixM (10 , vector <int> (100));

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

正确的语法是:

map <int , vector <int> >  radixM={ {10 , vector <int> (100) }};

答案 1 :(得分:1)

您必须使用initializer list

map <int , vector <int> >  radixM = {{10, vector<int>(100)}};

如果你需要用更多元素构建它,你可以这样做:

map <int , vector <int> >  radixM = {
    {10, vector<int>(100)},
    {20, vector<int>(200)}
};