Struct / multidim array

Tags:    c++

<< < 12 > >>
Hej.

Lige et lille spørgsmål fra en ny C programmør. Jeg har lidt problemer med at tildele værdi til et multidim array fra en struct.

Et kode eksempel:
Fold kodeboks ind/udKode 


Det er tildelingen test->matrix[3][3] der giver mig problemer: "("parse error before {"):".

På forhånd tak



Indlæg senest redigeret d. 21.09.2007 16:34 af Bruger #12498
Jwg prøver stadig at finde ud af en løsning, men der er en grund til at jeg ikke bryder mig om arrays. Kunne du evt. fortælle hvad det skal bruges til? Det kunne jo være at der var en anden og mpske endda bedre løsning...



Arrayet skal huse en matrix 3x3, 5x5, 7x7 etc. Så det skal umiddelbart være et array.

Men det burde det vel også sagtens kunne være... Men det kan være lidt tricky



Er ret sikker på at du _ikke_ kan initialisere et array på den måde, når du er i en funktion.



Jeg kan eksempelvis godt oprette et almindeligt array således:
Fold kodeboks ind/udKode 


Men det giver problemer med den struct.



ok, så hvad du ønsker er en structur med 3 2 dimensionelle arrays af forskellig størrelse. Det skulle nok kunne lade sig gøre. Skal du have adgang via en pointer eller en almindelig definition ok?



@felix: Hvad jeg ønsker er egenligt præcis hvad jeg har skrevet under min kode i indlæg ét (ud over at den naturligvis skal tilrettes, så compileren er glad). :o)

Strukturen huser dermed ét 2 dimensioneret array 'matrix'.

Forskellige funktioner bruger så denne struktur til at gemme forskellige oplysninger i 'matrix'. Pointeren bliver sendt videre til andre funktioner.


Problemet er: tilskrivelsen af værdier til denne struktur.




Indlæg senest redigeret d. 21.09.2007 19:04 af Bruger #12498
Fold kodeboks ind/udKode 

Dette burde gøre noget af hvad hvad du ønsker. Jeg har lavet den const, men det kan du bare fjerne hvis du ønsker mulighed for at ændre på værdierne.
Det er vigtigt at porientere at hvis du definere flere instanser af T vil de stadig indeholde samme værdier (tror jeg)




Tak for eksemplet Felix.

Jeg må hellere forklare det lidt bedre. (læst først lige mit forgående indlæg), derefter:

Jeg har en struktur som inddeholder nogle forskellige værdier og ét to dim. array 'matrix'.

Lad os forstille os at 10 forskellige funktioner bruger denne struktur til at oprette deres egen struct pointer med egne værdier for 'matrix'. Alle funktioner kan så kalde én fælles funktion der behandler deres data. Så jeg bruger egenligt de 10 funktioner til at opbevare data i en struct. Alternativt kunne jeg oprette 10 forskellige structs, men synes den anden måde er mere elegant.

På forhånd tak og håber det gjorde opgaven mere klar.

--> Men grundlæggende handler mit spørgsmål blot om at tilskrive variabler til min struct's to dim array.



altså en struct med et 2d array som kan defineres flere gane med forskellige værdier. Jeg kan sagtens finde på en løsning, men det er ikke sikkert at det bliver arrays der bliver brugt. Der er jo andre containere som vector o.lign.
Under alle omstændigheder har jeg ikke tid lige nu, men måske i løbet af et par timer...



Som andre er inde på kan du ikke gøre det direkte, du kan:

Fold kodeboks ind/udKode 






<< < 12 > >>
t