Subsequences wrong submission

what is wrong in this

#include
#include
using namespace std;

int cnt=0;
void count(){

cnt++;

}
void subsequences(string str,int i,int j,vectorv){

 if(str[i]=='\0'){
	 v.push_back('\0');
	 count();
	 for(auto x:v){
		 cout<<x;
	 }

	 return;
 }


 subsequences(str,i+1,j,v);
 v.push_back(str[i]);
 subsequences(str,i+1,j+1,v);

}
int main() {
string str;
cin>>str;
vectorv;
subsequences(str,0,0,v);
cout<<endl<<cnt;
return 0;
}