2016-07-02 3 views
-1

Я получаю эту ошибку, когда пытаюсь скомпилировать свою программу. Это связано с тем, как я строю карту, но я действительно не вижу ничего плохого:Инициализация карты STL

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

Любые идеи?

+1

_ «Любые идеи?» _ Да, используйте [список инициализаторов] (http://en.cppreference.com/w/cpp/container/map/map). –

ответ

1

Правильный синтаксис будет:

map <int , vector <int> > radixM={ {10 , vector <int> (100) }}; 
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)} 
}; 
Смежные вопросы