ciao ragazzi..
sto facendo un programma sull'inserimento ordinato in un vettore ordinato..mi da errore quando nel main viene chiamata la funzione crea_spazio..
perchè mi da questo errore: "call of overloaded `crea_spazio(int[20], int&, int&)' is ambiguous"?
qualcuno sa aiutarmi?grazie!!
vi posto quello che ho fatto
codice:#include <iostream> #include<cstdlib> using namespace std; #define N 20 typedef int vettore[N]; vettore v; void inserimento(vettore, int&); int cerca_posizione(vettore,int&,int&); void crea_spazio(vettore,int&,int&); void inserimento(vettore v, int&num_elem){ cout<<"\n quanti elementi vuoi inserire?"; cin>>num_elem; int i; for(i=0;i<num_elem;i++){ cout<<"\n inserisci l'elemento" <<i+1<< "del vettore "; cin>>v[i]; } cout<<"\ il vettore v e' uguale a ["; for(i=0;i<num_elem;i++){ cout<<v[i]; } cout<<"]"; } int cerca_posizione(vettore v, int&num_elem, int&x){ int i=0; while(i<num_elem && v[i]<=x) i++; return(i); } void crea_spazio(vettore v, int&num_elem, int pos){ for (int i=num_elem-1;i>=pos;i--) v[i+1]=v[i]; } int main(){ vettore v; int num_elem; int x; int i; inserimento(v,num_elem); cout<<"\n inserisci un nuovo elemento "; cin>>x; int index=cerca_posizione(v,num_elem,x) crea_spazio(v, num_elem, index); //L'ERRORE ME LO DA QUI v[index]=x; num_elem++; cout<<"\ il vettore v e' uguale a ["; for(i=0;i<num_elem;i++){ cout<<v[i]; } cout<<"]"; system("pause"); }

Rispondi quotando