Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Delucidazioni tra funzioni e il passaggio per valore e riferimento
Forum - C/C++ - Delucidazioni tra funzioni e il passaggio per valore e riferimento - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 19:16
Venerdì, 10/02/2012
Codice sorgente - presumibilmente C/C++

  1. char *path[256];  //Dichiaro variabili
  2.     int *vet[100];



Dovrebbe essere invece:

Codice sorgente - presumibilmente C/C++

  1. char path[256];
  2. int vet[100];



Path e vet sono gia' definiti come puntatori (siccome sono degli array).


Il mio blog: https://piero.dev
PM Quote
Avatar
Daviducci0 (Normal User)
Newbie


Messaggi: 6
Iscritto: 09/02/2012

Segnala al moderatore
Postato alle 19:55
Venerdì, 10/02/2012
Già ho provato a fare così ma mi da questo errore:
(grazie per la pazienza, con te sono riuscito a capire meglio come funziona il tutto)

Codice sorgente - presumibilmente Delphi

  1. /home/davide/C++/Esame.cpp||In functionint main():|
  2. /home/davide/C++/Esame.cpp|20|error: invalid conversion from ‘inttoint*[-fpermissive]|
  3. /home/davide/C++/Esame.cpp|7|error:   initializing argument 2 of ‘void carica_vet(char*, int*, int&)[-fpermissive]|
  4. /home/davide/C++/Esame.cpp|21|error: invalid conversion from ‘inttoint*[-fpermissive]|
  5. /home/davide/C++/Esame.cpp|8|error:   initializing argument 1 of ‘void stampa_vet(int*, int&)[-fpermissive]|
  6. /home/davide/C++/Esame.cpp|22|error: invalid conversion from ‘inttoint*[-fpermissive]|
  7. /home/davide/C++/Esame.cpp|9|error:   initializing argument 1 of ‘void ricerca_max(int*, int&, int&, int&)[-fpermissive]|
  8. ||=== Build finished: 6 errors, 0 warnings ===|


PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 21:55
Venerdì, 10/02/2012
Come mai chiami le funzioni in questa maniera?

Codice sorgente - presumibilmente Plain Text

  1. carica_vet(path[256], vet[100], riemp);



Se passi l'intero array, devi passare solamente path... path[256] fa riferimento al 257esimo elemento di path. Stesso discorso per vet.

Codice sorgente - presumibilmente Plain Text

  1. carica_vet(path, vet, riemp);



Ultima modifica effettuata da pierotofy il 11/02/2012 alle 17:31


Il mio blog: https://piero.dev
PM Quote
Avatar
Daviducci0 (Normal User)
Newbie


Messaggi: 6
Iscritto: 09/02/2012

Segnala al moderatore
Postato alle 10:33
Sabato, 11/02/2012
Finalmente ho capito come funziona!!! Grazie mille!!!

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo