Buona sera, ho questo esercizio, sembrava semplice, ma niente... non vuole girare...

codice:
/*
Assegnata una matrice quadrata NxN, scrivere una funzione booleana ricerca 
che stampi vero se i numeri dispari ricorrono più volte dei pari.
*/

#include<iostream>
#include<cstdlib>

using namespace std;
const int rigmax=50;
const int colmax=50; 

using namespace std;
bool PariDispari(int [][colmax], int , int , int &);
void StampaMat(char, int [][colmax], int);

int main()
{   
    int A[rigmax][colmax];
    int n,m, conta;
    cout<<"inserisci righe : ";
    cin>>n;
    cout<<"inserisci colonne : ";
    cin>>m;


    int i=0, j=0, sommaP=0, sommaD=0;
    
    cout<<PariDispari(A, n, m, conta);
    cout<<sommaP<<endl;
    cout<<sommaD<<endl;
    
    StampaMat('A', A, n);
    
    system("pause");
}
 

bool PariDispari(int A, int n, int m, int &conta){
     if(n<0){
              if(conta>0){
                     return true;}
                     else{
                         return false;
                         }
              }
              else {
                   if(m<0)
                     return PariDispari(A, n-1, m, conta);
                     else 
                          {
                          if (A[n][m]%2==0){
                          return PariDispari(A, n-1, m, conta-1);
                          }
                          else
                          return PariDispari(A, n-1, m, conta+1);
              }

}


void StampaMat(char nomemat,const int A[][m], int n, int m)  {
  int i,j;
  for (i=0;i<n;i++)  {
    for (j=0; j<n; j++) 
      cout<<nomemat<<"["<<i<<"]["<<j<<"]="<<A[i][j]<<"  ";
    cout<<endl;  
  }    
}
l'errore stà nella functionparidispari