Dynamic cast auf struct?
-
Morgen :p,
wenn ich zwei structs habe die die gleichen variablen habe und so, und volkomen indentisch sind blos das sie andere namen haben z.b. LSTR_A und LSTR_B. wie kann ich die deinamisch kasten in C?. z.b.
void A(void) { LSTR_A var1; . . . B((LSTR_B)Var1); . . } void B(LSTR_B DataIn) { . . . }
Aber irgentwie will den compilles nicht :/.
-
dein code sollte funktionieren.
leider hast du die compilermeldungen unterschlagen. rueck sie doch bitte raus, damit wir dir helfen koennen. ok?
-
würde das reichen tun?
void A(void) { LSTR_A var1; . . . B((LSTR_B*)&Var1); . . } void B(LSTR_B* DataIn) { . . . }
-
Master User schrieb:
Aber irgentwie will den compilles nicht :/.
Du kannst nicht einfach einen Typ in einen anderen casten, auch wenn sie inhaltlich gleich sind. Die Typen müssen schon verwandt sein. Die einzige Möglichkeit unter C wäre, den Speicher neu zu interpretieren. Volkard hat das ja bereits gezeigt.
Was ich mich allerdings frage, wenn die Typen inhaltlich identisch sind, warum brauchst du dann 2 davon?
-
Mpoa past danke, darauf wurde ich nicht mal in 1000 jahre kommen, hab aber vieles gändert :/, ist ne grosse geschichte warum :).