Ho scritto questo semplice codice per esercizio, ma il compilatore mi genera un errore che non mi era mai capitato: invalid types `int[int]' for array subscript . Sapreste indicarmi da cosa può dipendere questo errore e come evitarlo?

codice:
/*
   Note              : Definire una funzione Uguali2 che prenda in input un 
                       vettore V di interi di lunghezza n, e restituisca:
                       - “true” se il vettore contiene almeno due numeri uguali
                       - “false” altrimenti.
                       Esempi.
                       Se V= [1,22,13,24,5]  è  Uguali2(V) = false
                       Se invece V= [1,2,6,24,2] è Uguali2(V) = true
*/     

#include <cstdlib>
#include <iostream>

using namespace std;

bool uguali(int [],int);

int main(){
    
    int v[5]={1,22,13,24,5};
    if(uguali(v,5)) cout<<"SI"<<endl;
    else cout<<"NO"<<endl;
    
    
    system("pause");
    return 0;
    
}

bool uguali(int v,int n){
     
     for(int i=0;i<n;i++){
     for(int z=0;i<n;i++){
             if(z!=i && (v[i]==v[z])) return true;
             }
             }
     return false;
}
Grazie mille