|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jan 2004
Città: Pompei
Messaggi: 315
|
[C++] Array di puntatori a record
Salve a tutti, vorrei porvi una domanda, forse stupida per molti ma sono agli inizi, sugli array di puntatori.
Dunque in un progetto multifile dopo aver dichiarato nel main un array di punatori a record: int N = 4; struct record { ------- } record *pr[N]; come si fa a passare come parametro di ingresso ad una funzione tale array *pr[N]....? Ho provato con void push(rec *pr, const int N)... ma non va.. qualcuno sa aiutarmi? grazie ![]()
__________________
Case Raidmax Samurai | Enermax Noisetaker 600W | intel C2D e7200 | Asus P5Q | 2x1gb DDR2 800 Kingston | SΛpphire HD2600XT GDDR3 | Λudigy2 | Seagate 500gb SATA2 | ρioneer DVR-111D | LG GSA-H55N | LCD HP w19 |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2003
Città: Ferrara
Messaggi: 1280
|
Re: [C++] Array di puntatori a record
Quote:
Non so se ho capito il problema, ma se hai dichiarato una struct record devi usarla come tale cioe' void push(record *pr, const int N) non void push(rec *pr, const int N). Se posso permettermi: record non e' un gran nome x una struct... magari se riesci usane uno + significativo (in altri linguaggi potrebbe anche essere un tipo riservato).
__________________
Trattative Concluse |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
i metodi per passare un vettore di puntatori sono questi:
Dichiarazioni: int fun (int **vet); o int fun (int *vet[]); o int fun (int *vet[N]);//DOVE N e DEFINITO COME #define N 4 Ciao.... |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jan 2004
Città: Pompei
Messaggi: 315
|
Grazie delle risp. ma non sono ancora riuscito a risolvere il prob.
x palu 15 : 1) nella prototipo della funzione avevo scritto rec per errore in realtà volevo scrivere record, lo so che non è molto appropriato come nome ma era un esempio..... x tglman: io devo passare alla funzione un vettore di puntatori a record... non un vettore di puntatori ad intero..... vi prego aiutatemi...
__________________
Case Raidmax Samurai | Enermax Noisetaker 600W | intel C2D e7200 | Asus P5Q | 2x1gb DDR2 800 Kingston | SΛpphire HD2600XT GDDR3 | Λudigy2 | Seagate 500gb SATA2 | ρioneer DVR-111D | LG GSA-H55N | LCD HP w19 |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
Basta cambiare int in record (il mio era solo un esempio)
void push(record **pr); o void push(record *pr[]); o void push(record *pr[N]);//dove n e definito #define N 4 Forse però non ho capito bene tu voi un vettore di puntatori a record, analizziamo un attimo, un qualcosa del tipo rec *pr[]={p1,p2,p3}; si dorebbe funzionare con questi prototipi, ricordati di usare il vettore cosi: pr[n]->campo; |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jan 2004
Città: Pompei
Messaggi: 315
|
Grazie tglman per il tuo aiuto....
Hai perfettamente capito cosa intendevo... però la cosa misteriosa è che anche io sapevo che il passaggio si faceva nei modi che tu hai elencato... ma la cosa strana è che il sorgente non compila mi dice: "record" was not declared in this scope "pr" was not declared in this scope Sto impazzendo è la prima volta che studio qualcosa all'università e non riesco a metterla in pratica .....
__________________
Case Raidmax Samurai | Enermax Noisetaker 600W | intel C2D e7200 | Asus P5Q | 2x1gb DDR2 800 Kingston | SΛpphire HD2600XT GDDR3 | Λudigy2 | Seagate 500gb SATA2 | ρioneer DVR-111D | LG GSA-H55N | LCD HP w19 |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Secondo me ti sei perso un punto e virgola da qualche parte...
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
Scusa perchè non ci posti il codice, e poi che compilatore stai utilizzando..
Ciao |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jan 2004
Città: Pompei
Messaggi: 315
|
Sto utilizzando il dev 4.9 col compilatore integrato mi pare sia il mingc....
![]() il progetto è multifile come faccio a postare tutto?
__________________
Case Raidmax Samurai | Enermax Noisetaker 600W | intel C2D e7200 | Asus P5Q | 2x1gb DDR2 800 Kingston | SΛpphire HD2600XT GDDR3 | Λudigy2 | Seagate 500gb SATA2 | ρioneer DVR-111D | LG GSA-H55N | LCD HP w19 |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
prendi tutti i file, li zippi e lo alleghi ad un post. se lo zip è + grande di 25000 bytes allora fai 2 files zip.
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:46.