Ho implementato nelle mia funzioni così:
void controllaOcc (matrice m,int r,int c,int & val,vettore v,int rpm){
cout<<"\nOccorrenze sull'intera matrice\n";
rpm=0;
for(int i=0;i<r;i++)
{
for (int j=0;j<c;j++){
contaOcc (m[i][j],v, rpm);//***************************************************
}
}
int max=v[0].occ;
for(int p=0;p<rpm;p++){
cout<<"\nL'elemento "<<v[p].val<<" si ripete "<<v[p].occ<<" volte";
if(max<v[p].occ)
max=v[p].occ;
}
cout<<"\nIl numero di occorrenze massimo e' "<<max<<endl<<endl;
}
void contaOcc(int val,vettore & v, int & rpm)
{
for(int i = 0; i <rpm; i++)
{
if(val == v[i].val)
{
v[i].occ++;
return;
}
}
v[rpm].val = val;
v[rpm].occ = 1;
rpm++;
}
*********qui mi dice invalid initialization of reference of type 'ripetuti (&)[100]' from expression of type 'ripetuti*' --- ripetuti è l'array di record
per un paio di compilazioni ha funzionato, poi non so cosa ho cambiato (sicuramente nel passaggio dei valori, e non va più )