Klassenkonstruktion mit new



  • nicht ganz.

    ich deklariere die Variable mit

    Component1 _Component1;
    

    und weise dieser Variable dann später in einer init-Methode eine Instanz zu

    _Component1 = new Component1();
    

    und das schlägt fehl.



  • ja, weil sie kein ZEIGER ist! Deklariere sie als Zeiger und alles ist wunderbar (vorausgesetzt du änderst den Namen und gibst den Speicher wieder frei).

    MfG

    GPC



  • Hi!

    Weils falsch ist. Was du brauchst ist ein Zeiger:

    Component1 _Component1;
    

    grüße



  • kollektives "nimm Zeiger!" posten 🙂

    natürlich klappt jetzt alles, dank euch.



  • @David_pb:
    Dann schreib auch nen Zeiger 😉

    @eem:
    Component1 _Component1;
    Hier ist _Component1 bereits eine konstruierte Instanz, Du brauchst ihr nichts mehr zuweisen.



  • David_pb schrieb:

    Weils falsch ist. Was du brauchst ist ein Zeiger:

    Component1 _Component1;
    

    😃
    wohl eher

    Component1 *component1;
    

    MfG

    GPC



  • [quote="LordJaxom@eem:
    Component1 _Component1;
    Hier ist _Component1 bereits eine konstruierte Instanz, Du brauchst ihr nichts mehr zuweisen.[/quote]

    ah, okay. jetzt ists mir klar.



  • GPC schrieb:

    David_pb schrieb:

    Weils falsch ist. Was du brauchst ist ein Zeiger:

    Component1 _Component1;
    

    😃
    wohl eher

    Component1 *component1;
    

    MfG

    GPC

    Nein, warum auch? Ich habe mich an seinen Bezeichner gehalten, von daher...

    grüße



  • äh, doch. Du hast dich zwar an seinen (nicht guten) Bezeichner gehalten, aber _keinen_ Pointer deklariert. Durch deinen Code wird das Problem schließlich fabriziert, da der Compiler eine dynamisch allokierte Instanz der Klasse Component1 an einen Pointer zuweisen will, aber auf ein bereits konstruiertes Objekt trifft. Das ist das Problem.

    MfG

    GPC



  • GPC schrieb:

    äh, doch. Du hast dich zwar an seinen (nicht guten) Bezeichner gehalten, aber _keinen_ Pointer deklariert. Durch deinen Code wird das Problem schließlich fabriziert, da der Compiler eine dynamisch allokierte Instanz der Klasse Component1 an einen Pointer zuweisen will, aber auf ein bereits konstruiertes Objekt trifft. Das ist das Problem.

    MfG

    GPC

    Tatsächlich, stimmt. Das hab' ich natürlich völlig übersehen! 🙂 Aber ich möchte ganz deutlich sagen das der Fehler nicht durch meinen Code entsteht... Ich hab nur vor lauter Eile einen Tippfehler gemacht der genau den Fehler im Quellcode des Posters wiederspiegelt... Und wie es zu diesem Fehler kommt weis ich selbst.

    grüße



  • Ich hab nur vor lauter Eile einen Tippfehler gemacht der genau den Fehler im Quellcode des Posters wiederspiegelt... Und wie es zu diesem Fehler kommt weis ich selbst.

    schon klar, war kein Vorwurf, nur eine Feststellung.

    MfG

    GPC


Anmelden zum Antworten