Just nu i M3-nätverket
Gå till innehåll

Initialisera matris av en typedef struct-datatyp


Cabron

Rekommendera Poster

Hej

 

Jag lyckas inte initialisera en matris om datatypen är en typedef struct. Alltså det går bra med en befintlig datatyp, t.ex:

 

int int_matris[4]={1,2,3,4};

 

Men det går inte om jag först definierar en datatyp, till exempel.

 

typedef struct {

int ett_tal;

int ett_annat_tal;

} min_typ;

 

static const min_typ en_variabel = {1,2};

 

min_typ min_matris[1][1]={en_variabel};

 

 

Felmeddelandet jag får är:

'not static initializer for min_matris'

Och jag får samma felmeddelandet om jag gör min_matris statisk eller struntar i att göra en_variabel statisk.

 

Det skulle fungera att deklarera matrisen och sedan fylla den i en init-funktion, men det skulle underlätta väldigt mycket om jag lyckades initialisera den direkt. Finns det någon begåvad människa som kan hjälpa mig?

 

Mvh

 

Länk till kommentar
Dela på andra webbplatser

Hej igen

 

Jag kan tillägga att det också fungerar att göra så här:

 

typedef struct {

int ett_tal;

int ett_annat_tal;

} min_typ;

min_typ min_matris[1][1]={1,2};

 

Vilket känns ganska frustrerande. Tacksam för hjälp.

 

 

[inlägget ändrat 2003-01-13 13:39:52 av Petter46]

Länk till kommentar
Dela på andra webbplatser

Kompilatorn vill se en int i initieringslistan men ser en min_typ.

 

Följande borde funka men är kanske inte vad du tänkt dig:

 

min_typ min_matris[1][1]={ en_variabel.ett_tal, en_variabel.ett_annat_tal };

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...