Die Sache mit 2 char* und dem älter werden...



  • Ich hab in meinem Prog bei einer QBox-Klasse 2 char*:

    char *chVal, *lastChVal;
    

    Also den aktuellen Wert und den, der davor aktuell war.

    Jetzt kommt irgendwann die Stelle, an der lastChVal den Wert von chVal annehmen muss und chVal wieder auf NULL gesetzt wird.
    Dann wird lastChVal an eine Textout-Funktion übergeben.

    Ja, aber natürlich kanss mit dem Code mit dem ichs versucht hab nicht gehen, denn dabei

    lastChVal=chVal;
    chVal=NULL;
    

    bekommt lastChVal auch das NULL ab.

    Was ich jetzt bräuchte ist ein Code, wie man genau chVal in lastChVal umwandeln könnte, also z.B. per einzelnem char-setzen.
    Geht aber auch nich, denn wenn ich dann reinterpret_casts versuche kommen meine schönen Pointer-Fehlermeldungen und Programmabstürze.
    Sry ich habs noch nie so mit Pointern gehabt 😉



  • Herr der Dinge schrieb:

    Ja, aber natürlich kanss mit dem Code mit dem ichs versucht hab nicht gehen, denn dabei

    lastChVal=chVal;
    chVal=NULL;
    

    bekommt lastChVal auch das NULL ab.

    Nein. Das sind zwei unterschiedliche Variablen, wenn du der einen was zuweist, interessiert das die andere überhaupt nicht (es sei denn es wären Referenzen.)

    Versuchs mal mit einem Debugger, unfundierte Vermutungen bringen nicht viel.



  • Also ich erklärs dir nochmal:

    lastChVal wird an die Textoutfunktion übergeben, danach stürzt das Programm ab.
    Die einzige Möglichkeit warum das Programm hier abstürzt ist, dass lastChVal gleich NULL ist.
    ABER es kann normal nicht NULL sein, weil es vorher einen Wert bereits zugewiesen bekommen hat.

    Und ich hab auch nach was anderem gefragt -.-



  • Herr der Dinge schrieb:

    lastChVal wird an die Textoutfunktion übergeben, danach stürzt das Programm ab.
    Die einzige Möglichkeit warum das Programm hier abstürzt ist, dass lastChVal gleich NULL ist.

    Warum überprüfst du das nicht?

    ABER es kann normal nicht NULL sein, weil es vorher einen Wert bereits zugewiesen bekommen hat.

    Eben. Vielleicht ist es auch nicht NULL und der Fehler liegt woanders? Sicher, man kann eine Menge theoretisch beweisen, und Dinge ausschließen, die nicht sein können. Aber ... ich kann das hier nicht, weil ich deinen Code nicht kenne; und du kannst es nicht, weil du "es noch nie so mit Pointern gehabt" hast.

    Und ich hab auch nach was anderem gefragt -.-

    Hab ich ignoriert, weil viel zu vage formuliert. Ich weiß nichtmal was du überhaupt meinst.



  • Naja Bashar ich hab dich auch schon immer so gemocht wie du bist mit deinen arroganten kleinen Anmerkungen.

    Aber btt:
    lastChVal war tatsächlich NULL, aber auch nur weil etwas einkommentiert war, was rauskommentiert hätte sein sollen Oo
    Naja thx trotzdem.



  • Wieso arrogant? Wie hättst du's denn lieber gehabt?



  • Normal? Freundlich?
    Sorry dass manche weniger Ahnung von C++ haben als du, aber diese Leute haben auch ein rl und hocken nicht die ganze Zeit vorm PC C++ lernend...



  • Hast du das Problem schon gelöst?



  • Kannst du bitte konkret werden? Hätte ich dir nicht unterstellen sollen, dass du möglicherweise etwas falsch machst? (Dann frag ich mich aber warum du überhaupt eine Frage stellst)

    Dein letzter Satz zeigt übrigens, dass du selbst in Sachen Freundlichkeit noch einiges lernen kannst.



  • Bashar ist einer, der immer hilft und deutlich klare aussagen macht.
    lieber so, als "drum rum geschwafel".

    sätze wie "Versuchs mal mit einem Debugger, unfundierte Vermutungen bringen nicht viel" sind als klare hilfestellungen zu verstehen. warum sollte man rumreden, wenn man zuwenig informationen erhält?



  • Ja das Problem ist gelöst.

    Wenn ich da hinschreibe, "ICh hab aber was anderes gefragt", wie kann man DAS denn missverstehen?
    Da schaut man was ich gefragt hab und meiner Meinung nach, ist das deutlich genug:
    Ich wollte 2 Pointer austauschen.



  • öhm, deine sätze oben sind schwer bis garnicht zu verstehen.. aber ist ja nun egal.. du hast ja falsch auskommentiert gehabt.

    so long



  • Herr der Dinge schrieb:

    Wenn ich da hinschreibe, "ICh hab aber was anderes gefragt", wie kann man DAS denn missverstehen?
    Da schaut man was ich gefragt hab und meiner Meinung nach, ist das deutlich genug:
    Ich wollte 2 Pointer austauschen.

    Du meinst das hier?

    Was ich jetzt bräuchte ist ein Code, wie man genau chVal in lastChVal umwandeln könnte, also z.B. per einzelnem char-setzen.
    Geht aber auch nich, denn wenn ich dann reinterpret_casts versuche kommen meine schönen Pointer-Fehlermeldungen und Programmabstürze.

    Tut mir leid, von austauschen seh ich da überhaupt nichts. Wenn ich genug von dem was ich daran nicht verstehe ausblende, kommt aber das raus, was dein Code schon ausgedrückt hat.

    Naja egal, ich werd in Zukunft vermeiden, dich mit meinen Antworten zu belasten.



  • Bashar schrieb:

    Naja egal, ich werd in Zukunft vermeiden, dich mit meinen Antworten zu belasten.

    Führst du ne BlackList? 😉
    Hoffentlich stehe ich da noch nicht drauf. 🤡



  • Bashar schrieb:

    Tut mir leid, von austauschen seh ich da überhaupt nichts. Wenn ich genug von dem was ich daran nicht verstehe ausblende, kommt aber das raus, was dein Code schon ausgedrückt hat.

    Was ja im Endefekt auch genau das richtige war. Wenn ich das richtig verstanden habe lag der Fehler ja wohl wo anders.

    Herr der Dinge schrieb:

    ...,also z.B. per einzelnem char-setzen.
    Geht aber auch nich, denn wenn ich dann reinterpret_casts versuche kommen meine schönen Pointer-Fehlermeldungen und Programmabstürze.

    Das hier fand ich allerdings auch ziemlich verwirrend



  • omg mit meinen schönen Fehlermeldungen meinte ich meine Abfangblöcke(try {}, catch()), für die ich mir richtig viel Mühe gemacht hab, damit bei Programmabbrüchen durch Fehler mit Pointern mit präzise mitgeteilt wird, worans liegt.



  • Am präzisesten wird es dir mitgeteilt, wenn du gar nichts fängst und normal debuggst. 🙄



  • Dauert mir zu lang...



  • Ahja. Null Aufwand dauert natürlich länger als

    richtig viel Mühe.



  • LOL, das ist wieder mal fein, Herr der Dinge, ich denke, du musst dich hier noch etwas eingewöhnen. 🙂


Anmelden zum Antworten