Infatti proprio questo ti volevo chiedere:

Guardando l'esempio del contare quante volte un intero compare in un array:

codice:
#include <iostream>
#include <cstdlib>



using namespace std;



int occorrenza(int a[],int n, int c)
{

if(n=0) return 0;


if(a[n]==c)  // se non si trova l'uguaglianza, comunque non riparte!
return occorrenza(a,n--,c)+1;


    }


int main()
{
int n=7;

int cc=6;

int aa[]={1,9,6,7,6,8,6};

cout<<"il "<<cc<<" è contenuto "<<occorrenza(aa,n,cc);


return 0;
}
é vero che come ho scritto io se non trova l'intero alla posizione n, non riparte la ricorsione?

ovvero, mi trovo ad un certo punto che non vale ver l'if, ma in questo modo non va avanti la ricorsione giusto?

in questo caso, va bene la via di fuga ma non so portare avanti le chiamate ricorsive