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