struct elemente mit index ausgeben
-
Hallo,
die einzelnen Elemente
folgender Struktur würde ich gern für eine Ausgabe wie ein Array ausgeben.struct rs232_daten { int modus_A1; int kommando_T1; int ad_V1H_V1L; int flag_I1; int status_S1; int DS2438_modus_A2; int DS2438_T2; int DS2438_V2H_V2L; int DS2438_I2; int DS2438_S2; }datum; . . . for(int i=0;i<10;i++) ausgabe(datum[i]);//so ist`s quatsch
Weiß jemand, wie man das realisieren kann?
-
Entweder du hast im struct anonym alle Elemente im Array, oder du benutzt ne union, um Elemente auch einzeln namentlich anzusprechen.
-
Das geht so nicht, Du kannst nicht über [] auf Members zugreifen, es sei denn Du definierst Dir auf ganz perverse Art und Weise Deinen operator[] neu.
-
Also, so wie du das gemacht hast, ist es doch eher "dreckig".
Ich empfehle hier eine std::map zu nehmen. Dann ist der key der Variablenname und das value der Variablenwert. Dann kannste da mit ner Schleife durchlaufen.
Obwohl ich mich frage, ob es denn wirklich Sinn macht und man sich vielleicht nicht eine Methode schreibt, die halt ebend alle Variablen einer struct ausgibt?
-
solange das nur ints sind könnte man das struct auf ein int-array(bzw. int*) casten.
Das wär aber super dirty.