const union initialisieren



  • gegeben:

    typedef union {
    	long val;
    	char tabc[sizeof(long)+1];
    } uAppId;
    

    wie initialisiere ich nun eine Konstante
    const uAppId appId = ???
    mit z.B. appId.val=500 *oder* appId.tabc = "bla" ...



  • union foo {
       int x;
       double d;
    }
    

    gib ihr einmal einen namen, so wie hier.
    du darfst dann konstruktoren und memberfunktionen definieren (nur keine virtuellen).
    andernfalls musst du die union in der elementinitialisierungsliste so initialisieren, als würdest du ihr erstes element initialisieren wollen.
    sorry, hab jetzt leider keine zeit näher drauf einzugehen. cu 😉



  • Also verändern kann ich an der Definition nix. (fremder Code).
    Muss also über die zweite Variante gehen.
    Also
    const uAppId appId = 1234; ??
    ich dachte das probiert zu haben. Ich probiers morgen nochmal.



  • Hallo,

    man kann sich die Sache ganz einfach machen:

    const uAppId appId = {1234};
    

    MfG



  • davie schrieb:

    union foo {
       int x;
       double d;
    }
    

    gib ihr einmal einen namen, so wie hier.
    du darfst dann konstruktoren und memberfunktionen definieren (nur keine virtuellen).
    andernfalls musst du die union in der elementinitialisierungsliste so initialisieren, als würdest du ihr erstes element initialisieren wollen.
    sorry, hab jetzt leider keine zeit näher drauf einzugehen. cu 😉

    Konstruktoren??? 😮 im Union???



  • itman schrieb:

    davie schrieb:

    union foo {
       int x;
       double d;
    }
    

    gib ihr einmal einen namen, so wie hier.
    du darfst dann konstruktoren und memberfunktionen definieren (nur keine virtuellen).
    andernfalls musst du die union in der elementinitialisierungsliste so initialisieren, als würdest du ihr erstes element initialisieren wollen.
    sorry, hab jetzt leider keine zeit näher drauf einzugehen. cu 😉

    Konstruktoren??? 😮 im Union???

    Die Elemente einer Union dürfen keine Konstruktoren haben (können also keine udts mit nicht trivialen Konstruktoren sein). Die Union selbst darf aber Konstruktoren haben.



  • [quote="HumeSikkins"]

    itman schrieb:

    davie schrieb:

    Konstruktoren??? 😮 im Union???

    Die Elemente einer Union dürfen keine Konstruktoren haben (können also keine udts mit nicht trivialen Konstruktoren sein). Die Union selbst darf aber Konstruktoren haben.

    Einverstanden.


Anmelden zum Antworten