[ANSI C] errore: too few arguments to function function2

di il
33 risposte

33 Risposte - Pagina 2

  • Re: [ANSI C] errore: too few arguments to function function2

    oregon ha scritto:


    Quale problema avevi con function2 e come l'hai risolto?
    dando void alla funzione, tuttavia qua ho bisogno di un return per consentire alla funzione di verificare il tutto
  • Re: [ANSI C] errore: too few arguments to function function2

    Ho dichiarato la funzione 3 come segue, ma non ha risolto il problema:
    
    struct insieme function3()
        {
        /* dichiarazione variabili locali */
            struct insieme x;        
            x.trovato = 0;
            int i;
            
             for (i=0,i<x.d;(x.trovato= 0); i++)                     
            
              /* for start */
                
                if (x.numero_reale == x.vettore[i])
                    x.trovato= 1;
                
              /* for end */
            return(x);
    
  • Re: [ANSI C] errore: too few arguments to function function2

    Ma tu sai cosa sono gli argomenti di una funzione?
  • Re: [ANSI C] errore: too few arguments to function function2

    oregon ha scritto:


    Ma tu sai cosa sono gli argomenti di una funzione?
    intendi i parametri ?
  • Re: [ANSI C] errore: too few arguments to function function2

    Si ...i parametri e il loro passaggio per copia o indirizzo
  • Re: [ANSI C] errore: too few arguments to function function2

    oregon ha scritto:


    Si ...i parametri e il loro passaggio per copia o indirizzo
    Non capisco quindi, cosa stai dicendo ...
  • Re: [ANSI C] errore: too few arguments to function function2

    Ti sta dicendo che hai fatto lo stesso errore di prima, cioè hai scritto da qualche parte che functionN è fatta in un modo e poi la stai usando come se fosse fatta in un altro modo, cosa che il compilatore non gradisce affatto.
  • Re: [ANSI C] errore: too few arguments to function function2

    Zenek ha scritto:


    oregon ha scritto:


    Si ...i parametri e il loro passaggio per copia o indirizzo
    Non capisco quindi, cosa stai dicendo ...
    Dico che non hai chiaro come si usano i parametri e dovresti rivederlo dal libro prima di continuare.

    function3 deve avere un parametro? Perché non lo indichi? Perché scrivi

    function3()

    ?

    Se il parametro è una struttura o un array lo passi per indirizzo?

    Un parametro passato per indirizzo risente delle modifiche fatte? È necessario un valore di ritorno o può essere void?
  • Re: [ANSI C] errore: too few arguments to function function2

    oregon ha scritto:


    Si ...i parametri e il loro passaggio per copia o indirizzo
    Si, so cos'è il passaggio parametri. Nel caso delle funzione 3, quando l'ho richiamata ho inviato la struttura "vettore". Non riesco quindi a capire l'errore...
  • Re: [ANSI C] errore: too few arguments to function function2

    Andrea Quaglia ha scritto:


    Ti sta dicendo che hai fatto lo stesso errore di prima, cioè hai scritto da qualche parte che functionN è fatta in un modo e poi la stai usando come se fosse fatta in un altro modo, cosa che il compilatore non gradisce affatto.
    Il compilatore non ha nessun errore ... ho passato la struttura "insieme", chiamata nel main "vettore", quando ho richiamato la funzione 3, e ho fatto in modo che facesse un return di struttura al momento di completamento della funzione stessa:

    La funzione 3 viene chiamata nel main così:
    
    vettore=function3(vettore);
    
    in questo modo, quando la funzione ritornerà, verrà inserita nella struttura "vettore". Nel frattempo gli passo la struttura caricata, quindi nella chiamata inserisco come parametro la struttura attuale: function3(vettore);

    A questo punto, il main si connette alla libreria "mylib.c" passando la struttura "vettore". All'interno della funzione 3 ho dichiarato quindi " struct insieme x", così attualmente vettore che ho passato nel passaggio parametri si chiama ora "x" all'interno della funzione. Il resto è "semplice", richiamo le varie parti della struttura utilizzando il prefisso "x." ...

    Questo è quello che ho capito attualmente.
  • Re: [ANSI C] errore: too few arguments to function function2

    All'inizio della tua funzione hai scritto

    struct insieme function3()


    Dov'è l'argomento? Come fa a chiamarsi "x" dopo il passaggio se x la dichiari localmente? Non hai le idee chiare.
  • Re: [ANSI C] errore: too few arguments to function function2

    Ho modificato alcune cose, non so se sto andando nella direzione coretta:

    mylib.h
    
    extern struct insieme function3(struct insieme vettore); /* in questo modo si connette alla struct esterna "insieme", e passa alla funzione 3 la struttura stessa chiama "vettore" */
    
    A questo punto ho modificato l'intestazione della funzione 3, il return e la dichiarazione delle varie variabili che utilizzano la struttura come segue:

    mylib.c
    
    extern struct insieme function3(struct insieme vettore)
        {
        /* dichiarazione variabili locali */
                   
            vettore.trovato = 0;
            int i;
            
            /* for start */
             for (i=0,i<vettore.d;(vettore.trovato= 0); i++)                     
        
                if (vettore.numero_reale == vettore.vettore[i])
                    vettore.trovato= 1;
                
              /* for end */
            return(vettore);
        }
    
  • Re: [ANSI C] errore: too few arguments to function function2

    oregon ha scritto:


    All'inizio della tua funzione hai scritto

    struct insieme function3()


    Dov'è l'argomento? Come fa a chiamarsi "x" dopo il passaggio se x la dichiari localmente? Non hai le idee chiare.
    Molto probabilmente hai ragione te, sto guardando molte risorse per cercare di capire, ma non riesco a trovate il problema ... se riuscissi a risolvere questa funzione, riuscirei a capire correttamente come si passano i parametri...
  • Re: [ANSI C] errore: too few arguments to function function2

    Scusa ma che vuoi dire? Hai scritto tu la funzione?

    Elenca qui tutto e solo il codice che riguarda la function3
  • Re: [ANSI C] errore: too few arguments to function function2

    La funzione deve essere void
Devi accedere o registrarti per scrivere nel forum
33 risposte