Avatar billede petermjensen Nybegynder
10. marts 2004 - 18:17 Der er 5 kommentarer og
1 løsning

struct array og pointere

Jeg har et lille problem.
Jeg har en struct skal bruges i flere klasser.
Jeg har defineret struct'en i en header fil som begge includer.
struct person
{
  string navn;
  int alder;
};

I den ene klasse bliver følgene oprettet, og personerne bliver indsat:
person [200] personer;


Mit problem er så jeg vil overfører arrayet: personer til en anden klasse. Det vil jeg gøre ved at definére en metode der hedder:
void gem(person [] *personerCollection);

Men det vil compileren ikke?

Jeg ved ikke rigtigt hvordan man kan overføre et struct array til en metode ved hjælp af pointere?
Avatar billede arne_v Ekspert
10. marts 2004 - 18:20 #1
struct persom personer[200];

void gem(struct person *personer);

gem(personer);
Avatar billede petermjensen Nybegynder
10. marts 2004 - 18:28 #2
Jeg vidste godt nok ikke at man skulle selv definére at det er en struct?
Men det virker :o)

Umiddelbart ville jeg mene set er en ponter, men hvorfor kan jeg ikke bruge eg.: personer[0]->alder, men kun personer[0].alder?

Du må meget gerne give et svar så jeg kan gi point ;o)
Avatar billede arne_v Ekspert
10. marts 2004 - 18:29 #3
svar
Avatar billede arne_v Ekspert
10. marts 2004 - 18:30 #4
I C skal man skrive struct. I C++ behøver man det ikke.

Den afgørende ændring var at i.s.f. []* var det kun * (kunne også have brugt kun [])
i funktions erklæringen.
Avatar billede arne_v Ekspert
10. marts 2004 - 18:32 #5
personer er en pointer

I denne sammenhæng er en pointer og et array det samme

[0] har derfor "brugt" pointeren og derfor skal der bruge . og ikke ->
Avatar billede petermjensen Nybegynder
10. marts 2004 - 18:34 #6
Ok,
Tusinde tak for hjælpen Arne igen igen :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester