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 :).


Anmelden zum Antworten