Non riesco a capire cosa non va in questo codice, viene compilato ma va in crash...

codice:
#include <iostream>

using namespace std;

void cerca_occorrenze(int v[], int x, int n, int pos[], int nocc)
{
    int i;
    nocc=0;
    for(i=0;i<n;i++)
    {
        if(v[i]==x)
             pos[nocc++]=i;

    }
    cout<<"Numero " <<x <<"trovato in posizione ";
    for(i=0;i=nocc;i++)
    {
        cout<<pos[i]<<" ";
    }
    return;
}
int main()
{
    const int m=100;
    int nocc;
    int pos[m];
    int x;
    int k;
    int n;
    int vet[n];
    cout<<"How many values do you want to insert in the array?";
    cin>>n;
    cout<<"Please insert the values: ";
    for(k=0;k<n;k++){
        cin>>vet[k];
    }

    cout<<"Do you want to know in what position you have inserted a number?"<<"Write the number: ";
    cin >>x;

    cerca_occorrenze(vet,x,n,pos,nocc);

    return 0;


}