Ripensandoci forse ho capito cosa intendi, e soprattutto ho deciso di aiutarti dal momento che sei uno studente e che stai facendo i primi passi nel forum. Comunque attenzione, non sarò sempre così benevolo..

Il tuo compito, se ho capito bene, è questo:
es. N = 3 --> 000 001 010 011 100 101 110 111
Se è così questo è il codice ricorsivo: ovviamente sta alla tua *onestà intellettuale* studiarlo a fondo ( , è semplicissimo..) e non limitarli a scopiazzarlo; in caso contrario tutto sarà vano.

codice:
#include<iostream>
#include <string>

using namespace std;

void printBit( int num, string binary){
     if ( n==0 ){
          cout << binary << endl;}
     else{
          
          printBit( num-1, binary + "0" );
          printBit( num-1, binary + "1" );
          
          }
}

int main(){
    string binary="";
    int n;
    cin >> num;
    printBit(num, binary);
    system("pause");
    return 0;
}

Ciao