Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    62

    [c++] errore:call of overloaded is ambiguos

    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");
             }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    L'errore ti dovrebbe portare a controllare bene come hai scritto la testata della crea_spazio.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    62
    grazie!!
    era una sciocchezza nn me ne ero proprio resa conto..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.