[c++] problem z rekurencyjnym odwracaniem tablicy

Napisałam coś takiego. Mógłby mi ktoś pomóc i znaleźć błąd oraz poprawić. Z góry dzięki.

#include<iostream>
using namespace std;
const int n=5;
void odw(int left, int right, int a[]);
int main()
{
int a[n];
int left;
int right;

for(int i=0; i<n; i++)
{
	cout<<"Podaj liczbe= "; cin>>a[i];
}

odw(left,right,a);

for(int i=0; i<n; i++)
cout<<a[i];

return 0;	
}

void odw(int left, int right, int a[])
{
int temp;
if(left<right)
	
	{ 
	{
       temp = a[left]; 
       a[left] = a[right]; 
       a[right] = temp; 
    }
	    odw(left+1,right-1,a);
	   } 
	  
	   
	   	
}

left i right, nie są inicjowane, strasznie to po komplikowałaś, po co ci w ogóle left i right?