Ошибка в этом фрагменте кода. Никак не могу понять, в чем дело
Сама программа должна возвращать двоичную последовательность длины n
#include <iostream>
#include <vector>
using namespace std;
void func(int a, vector<int>& v1){
if(a == v1.size()){
for(int i = 0; i < v1.size(); ++i){
cout << v1[i];
}
cout << endl;
return;
}
for(int i = 0; i < v1.size(); ++i){
v1[a] = i;
func(i + 1, v1);
}
}
int main(){
int n;
cin >> n;
vector<int> v;
for(int i = 0; i < n; ++i){
v.push_back(0);
}
for(int i = 0; i < n; ++i){
cout << v[i];
}
func(1, v);
return 0;
}