Toon posts:

[C++] Pointer naar array

Pagina: 1
Acties:

Verwijderd

Topicstarter
Als ik in C++.net een pointer naar een array probeer te maken krijg ik een conversion fout, dit werkte nochtans in C
vb:
typedef struct
{CString naam;
CString voornaam;
}klant;
klant lijst[100];
klant* lijst2 = &lijst
dit geeft dus een conversion error
als ik dit typ niet
klant* lijst2 = (klant*)&lijst
maar is dit nu nog wel een pointer naar de array of gewoon een conversie naar 1 klant?

  • MisterData
  • Registratie: September 2001
  • Laatst online: 26-08 21:52
Ik dacht toch echt dat het zo moest hoor?

klant* lijst2 = lijst;

  • Devil N
  • Registratie: September 2000
  • Laatst online: 14-08 16:15
Als je een array 'lijst[100]' definieert, dan is 'lijst' een pointer naar het eerste element in die array. 'lijst' is dus precies hetzelfde als '&lijst[0]'.

edit:
Dus wat MisterData hierboven schrijft is correct

[ Voor 30% gewijzigd door Devil N op 22-11-2002 18:16 ]


Verwijderd

Topicstarter
bedankt, k was vergeten dat een array eigenlijk ook een soort pointer is

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 21-08 17:14
Verwijderd schreef op 22 November 2002 @ 19:56:
bedankt, k was vergeten dat een array eigenlijk ook een soort pointer is
Nou nee, een array die gebruikt wordt waar een pointer nodig is vervalt tot pointer. Da's wat anders; anders zou sizeof(lijst) het niet zo goed doen.

PS. als je in C++ bezig bent, helpt het om [C++] in je title te zetten. Bovendien hoef je geen typedef struct... meer te doen. Je schrijft gewoon
code:
1
struct lijst_element { ... };
en dan is lijst_element een type.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein