struct array loop
-
Hallo,
ich habe einen struct der Form:typedef struct zuor { char *name; int *fkt; int Fall1; int Fall2; int Fall3; int Fall4; }posi; posi test[]= { {"Test1", &get1, 3, 2, 1, 0 }, {"Test2", &get2, 9, 8, 7, 6 }, }Nun möchte ich auf Fall 1 bis 4 nicht via test[0].Fall1, test[0].Fall2 etc. zugreifen, sondern durch eine for-Schleife.
test[0].2 etc. funktioniert nicht aber gibt es vielleicht eine andere Möglichkeit?
Kann man nicht vielleicht notfalls einen String zur Variablen zusammenbauen oder so (nicht zur Laufzeit)?
Danke für eure Hilfe!
-
nein, kann man nicht. zur laufzeit gibt es die bezeichner gar nicht mehr. mach die fälle einfach zu einem array aus vier ints:
#include <iostream> struct posi { char *name; int *fkt; int Fall[4]; }; int main() { posi Foo; for(std::size_t i = 0; i < 4; ++i) std::cout << Foo.Fall[i]; }ps.: das was du da mit typedef struct machst ist c und in c++ nicht mehr nötig.