Moin.
Im folgenden Code soll ein Array aus Structs vom Typ stc_B erstellt werden. In jedem Array-Element soll dann neben einer Nummer (b1) auch ein Zeiger auf eine Struct vom Typ stc_cfg sein.
Code:
typedef struct
{
ui16_t a1;
ui16_t a2;
ui8_t a3;
} stc_cfg;
typedef struct
{
ui16_t b1;
stc_cfg *data_A;
} stc_B;
const stc_cfg Config1 = {0, 1, 2};
const stc_cfg Config1 = {4, 6, 2};
const stc_B DatasetsB[]=
{
{ 0x0001, Config1 },
{ 0x0002, Config2 },
{ 0x0003, Config1 },
{ 0x0004, Config1 },
{ 0x0005, Config2 }
};
Problem ist jetzt, dass jede Zeile { .. } in stc_B DatasetsB[] bemängelt wird mit:
Code:
error: initializer element is not constant
error: (near initialization for 'DatasetsB[0].data_A')
error: initializer element is not constant
error: (near initialization for 'DatasetsB[1].data_A')
error: initializer element is not constant
error: (near initialization for 'DatasetsB[2].data_A')
...
Haut diese Idee nicht hin, in einer Struct nen Zeiger auf ne Struct zu übergeben oder hab ich wieder etwas vergessen?
mfG
Lesezeichen