Hi, ich habe verschiedene strukturen. AnalogOutput DigitalOutput PWMOutput diese beinhalten unterschiedliche elemente. Da aber alle in einem enum aufgelistet sind (nicht von mir, kann ich auch nicht ändern) würde ich gerne ein Array mit anzahl aller outputs (größe des enums) machen. Jetzt ist das Problem, dass die Inhalte der einzelnen elemente im Array unterschiedlich sein müssen. Das heiß, ich kann kein Array vom typ AnalogOutput machen, da sonst DigitalOutput und PWMOUtput nicht hineinpassen. Gibt es eine möglichkeit, diese drei structs zusammenzuführen um es später beim Suchen einfacher zu haben? Beim array habe ich mir gedacht, das Element im Enum ist gleichzeigit der Platz im array.
Verwirr uns nur nicht, indem Du uns unwichtige Details wie die Programmiersprache nennst. Es würde uns sicher nicht Helfen zu verstehen was Dein Problem ist. Du hast ein Enum und 3 Strukturen, okay so weit verstanden. Die Strukturen sind unterschiedlich groß, das habe ich auch verstanden. Und dass Enum ist vorgeben, das ist auch angekommen, aber wie hängen jetzt Enum und Struktur zusammen? Die Generische Antwort ist, Du musst die ein Memory Bereich besorgen der groß genug ist, die größte Struktur aufzunehmen und vielleicht auch noch etwas Header Overhead, dann kannst Du sicher diesen Speicher in die für Dich passende Struktur verwandeln. Die Details da zu sind abhängig von der Programmiersprache und den unwichtigen Zusammenhang zwischen enum und Strukturen, welche Du uns nicht genannt hast, vielleicht ist eine Union das, was Du suchst, oder ein serialisierer.
Wie wärs mit einem 2D-Array: die erste Dimension für die Elemente, die zweite für die Komponenten. Also alle Komponenten der jeweiligen Datentypen und ein weiteres Element, das angibt ob es sich um AnalogInput, DigitalInput etc. handelt, das ist zwar etwas redundant (so ähnlich wie man in einer Datenbank mehrere Parent-Client Beziehungen in eine einzige Tabelle packt). Zwischen Index der jeweiligen Enum und dem 2. Arrayindex kannst du so eine Art "Matcher/Übersetzungfunktion" Enum-Index zu Array-Index bauen..
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.