The following program works well (using vector<vector > a)
#include<bits/stdc++.h>
using namespace std;
void print(vector<vector<int> > a)
{
for(int i=0;i<a.size();i++)
{
for(auto x:a[i])
cout<<x<<" ";
cout<<"\n";
}
}
int main()
{
vector<vector<int> > a(2);
cout<<a.size()<<"\n";
a[0].push_back(1);
a[1].push_back(2);
print(a);
}
The output is
2
1
2
Now if I create a array of vector (vector a[]), the following program gives error
#include<bits/stdc++.h>
using namespace std;
void print(vector<int> a[])
{
for(int i=0;i<a.size();i++)
{
for(auto x:a[i])
cout<<x<<" ";
cout<<"\n";
}
}
int main()
{
vector<int> a[2];
cout<<a.size()<<"\n";
a[0].push_back(1);
a[1].push_back(2);
print(a);
}
What changes needs to be done in the above program to get the same output?