ich geh mal davon aus es liegt eher weniger am enum sondern mehr an der verwendung vom array.
welches er auch falsch benutzt.
enum test
{
test1,
Float:test2,
test3[40],
}
hier haben wir eine art aufzählen eine variabel(integer) , Float, string
welche zu nun im array verwenden kannst.
mit der 2 gibst du die Zeilen aus und mit test so gesehen die spalten wenn man sich das jetzt mal vorstellt wie in einer Tabelle.
wenn du das als standart array verwenden würdest mit einem festgelegten wert würde das so aussehen als beispiel:
{7,10.0,"ich bin ein 40 Zeichen langer text"},
{1,19.0,"ich bin auch ein 40 Zeichen langer text"}
daher kannst du nicht einfach den namen des enums in dem array verwenden siehe hier bei dir
Laden[bLaden][LadenHandykarte]
daher muss bLaden einen wert haben. wir ziehen jetzt nochmal das beispiel von oben her
benutzen wir
printf("%d",beispiel[1][test1]);
so wird er uns 1 ausgeben da das array von 0 anfängt jedoch sind es 2 werte 0 - 1.
um den string in der ersten zeile auszugeben benutzt man
printf("%s",beispiel[0][test3]);
der output wäre nun ich bin ein 40 Zeichen langer text.