Вы объявили пустой вектор
vector<vector<int> > vec;
Таким образом, вы не можете использовать оператор индекса как
vec[0].push_back(1);
Вы можете объявить вектор, имеющий хотя бы один элемент типа std::vector<int>
like
vector<vector<int> > vec( 1 );
В любом случае вы можете объявить и инициализировать вектор одним оператором, как показано в демонстрационной программе ниже.
#include <iostream>
#include <vector>
int main()
{
std::vector<std::vector<int>> vec = { 1, { 1, 2, 13 } };
for ( const auto &item : vec[0] ) std::cout << item << ' ';
std::cout << '\n';
return 0;
}
Выходные данные программы
1 2 13