You need a containers for your subvectors. You might, for instance, use a vector of vectors:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v{2,3};
vector < vector < int > > sv;
for (size_t i = 0; i < v.size(); ++i)
{
sv.push_back(vector<int>{});
for (int j = 0; j < v[i]; ++j)
{
sv[i].push_back(rand());
}
}
for (size_t i = 0; i < v.size(); ++i)
{
for (size_t j = 0; j < sv[i].size(); ++j)
cout << sv[i][j] << " ";
cout << endl;
}
}