Ciao

Mi trovo di fronte a questa situazione con cntOpenDatabases dichiarata come globale:

codice:
static int cntOpenDatabases=-1;

int funz1(void){
   ++cntOpenDatabases;
   return cntOpenDatabases;
}

int funz2(int cntDat){
   cntOpenDatabases=cntDat;
   --cntOpenDatabases;
   return cntOpenDatabases;
}
Se io da un main chiamo prima funz1() --> cntOpenDatabases=0. Poi chiamo funz2() che riceve in pratica il valore prodotto da funz1() e --> cntOpenDatabases=-1. Ora se io richiamo funz1() --> cntOpenDatabases=1 (dopo l'incremento) mentre io voglio che sia uguale a 0 (cioè uguale al valore tornato da funz2. Come posso fare senza aggiungere o modificare i parametri di funz2() o di funz1()?

Grazie.