Ciao a tutti! devo scrivere una procedura ricorsiva che calcoli la somma delle righe dispari e quella delle righe pari...Eccola qui, ma non funziona... avete idea del perchè??

codice:
void somme(int a[][3],int i,int j,int n,int &sumd,int &sump)
{
     if(i<n)
     {
         if (j>n)
             return somme(a,i+1,0,n,sumd,sump);
         else if((i%2)==0)
             sump=sump+a[i][j];
         else
             sumd=sumd+a[i][j]; 
             
             return somme(a,i,j+1,n,sumd,sump);
         
     }
        
}