<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Variablen einer Klasse werden spontan gelöscht[10euro]]]></title><description><![CDATA[<p>Gute Tag ich wende mich an dieses Forum da ich ein Problem habe und seit ca. 3 Tagen nicht in der Lage bin dieses zu Lösen.<br />
(Ich bin noch relativ unerfahren aber kein totaler anfängermehr)</p>
<p>Meine Frage ist nun durch was ein derartiger Fehler(siehe unten) verursacht werden kann und wie ich ihn ggf. beheben kann.</p>
<p>Entwicklungsumgebung: MS VS c++ 2010, win XP 64</p>
<p>Das Programm:<br />
Ich schreibe derzeit ein recht umfangreiches programm und habe zu diesem zweck ein weit verzweigtes menü bestehend aus mehreren funktion programmiert.<br />
Bei den Einzelnen funktionen werden dann wiederrum neue funktionen aufgerufen.<br />
Das Programm speichert alle Einstellungen die über das menü getätigt werden in einer klasse CSetup welche aus mehreren std::string und int variablen besteht.<br />
Das Setup wird dann ständig an die verschiedenen Funktion übergeben so das diese auch die CSetup membervariablen verändern können.</p>
<p>Der Code:<br />
Am anfang deklariere ich mir einen zeiger</p>
<pre><code>CSetup *pCSetup = NULL;
</code></pre>
<p>Gefolgt von der Speicherreservierung auf dem Heap für die Instanz CSetup und die zuweisung des Zeigers auf diese.</p>
<pre><code>pCSetup = new CSetup[1];
</code></pre>
<p>Eine Funktion welche z.b. das Setup übergeben bekommen soll deklariere ich über</p>
<pre><code>void LoadLastSetup(CSetup *pCSetup);
</code></pre>
<p>und rufe sie innerhalb des Programms über</p>
<pre><code>LoadLastSetup(&amp;pCSetup[0]);
</code></pre>
<p>auf.<br />
Die Funktion kann sich dann den Einstellungen des Setups bedienen und diese verändern.(Hat bisher immer ohne probleme geklappt)</p>
<p>DAS PROBLEM:<br />
Das Setup wird munter von funktion an funktion mit der obigen methode übergeben.<br />
Das Funktioniert bis zu einem bestimmen punkt, wo eine funktion nach dem muster oben aufgerufen wird und als parameter fktX(&amp;pCSetup[0]) übergeben bekommt.<br />
Nun ists so das sobald innerhalb dieser Funktion irgendeine Art von Befehl ausgeführt wird beispielsweise</p>
<pre><code>cout &lt;&lt; &quot;blablub&quot; &lt;&lt; endl;
</code></pre>
<p>ALLE werte die innerhalb der Klasse CSetup gespeichert sind gelöscht und mit irgendwelchen randomisierten Zeichen mit bis zu 100k einträgen gefüllt werden.</p>
<p>Meine Vermutung:<br />
Da ich noch ein anfänger bin und immer froh bin solange ein programm funktioniert aber nicht 100% genau weis was bei dem Zeiger und der speicherreservierung auf dem Heap passiert, vermute ich das es was damit zu tun hat.<br />
Das evtl. das Objekt nicht beliebig häufig übergeben werden kann?<br />
Das der Heap nach einer gewissen zeit gecleared wird ?<br />
Das irgendwie der zeiger an einen anderen ort springt ?<br />
Ich habe schon alles mögliche (was mir möglich ist) probiert aber habe einfach keine ahnung wie so ein fehler entstehen kann.</p>
<p>Ich Wiederhole nochmal die Frage die ich nun habe:<br />
Wie kann sowas passieren, was kann sowas auslösen, wie kann man sowas verhindern.</p>
<p>mfg Burnie365</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/286272/variablen-einer-klasse-werden-spontan-gelöscht-10euro</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 22:22:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/286272.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 May 2011 18:57:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variablen einer Klasse werden spontan gelöscht[10euro] on Sun, 08 May 2011 22:51:01 GMT]]></title><description><![CDATA[<p>Gute Tag ich wende mich an dieses Forum da ich ein Problem habe und seit ca. 3 Tagen nicht in der Lage bin dieses zu Lösen.<br />
(Ich bin noch relativ unerfahren aber kein totaler anfängermehr)</p>
<p>Meine Frage ist nun durch was ein derartiger Fehler(siehe unten) verursacht werden kann und wie ich ihn ggf. beheben kann.</p>
<p>Entwicklungsumgebung: MS VS c++ 2010, win XP 64</p>
<p>Das Programm:<br />
Ich schreibe derzeit ein recht umfangreiches programm und habe zu diesem zweck ein weit verzweigtes menü bestehend aus mehreren funktion programmiert.<br />
Bei den Einzelnen funktionen werden dann wiederrum neue funktionen aufgerufen.<br />
Das Programm speichert alle Einstellungen die über das menü getätigt werden in einer klasse CSetup welche aus mehreren std::string und int variablen besteht.<br />
Das Setup wird dann ständig an die verschiedenen Funktion übergeben so das diese auch die CSetup membervariablen verändern können.</p>
<p>Der Code:<br />
Am anfang deklariere ich mir einen zeiger</p>
<pre><code>CSetup *pCSetup = NULL;
</code></pre>
<p>Gefolgt von der Speicherreservierung auf dem Heap für die Instanz CSetup und die zuweisung des Zeigers auf diese.</p>
<pre><code>pCSetup = new CSetup[1];
</code></pre>
<p>Eine Funktion welche z.b. das Setup übergeben bekommen soll deklariere ich über</p>
<pre><code>void LoadLastSetup(CSetup *pCSetup);
</code></pre>
<p>und rufe sie innerhalb des Programms über</p>
<pre><code>LoadLastSetup(&amp;pCSetup[0]);
</code></pre>
<p>auf.<br />
Die Funktion kann sich dann den Einstellungen des Setups bedienen und diese verändern.(Hat bisher immer ohne probleme geklappt)</p>
<p>DAS PROBLEM:<br />
Das Setup wird munter von funktion an funktion mit der obigen methode übergeben.<br />
Das Funktioniert bis zu einem bestimmen punkt, wo eine funktion nach dem muster oben aufgerufen wird und als parameter fktX(&amp;pCSetup[0]) übergeben bekommt.<br />
Nun ists so das sobald innerhalb dieser Funktion irgendeine Art von Befehl ausgeführt wird beispielsweise</p>
<pre><code>cout &lt;&lt; &quot;blablub&quot; &lt;&lt; endl;
</code></pre>
<p>ALLE werte die innerhalb der Klasse CSetup gespeichert sind gelöscht und mit irgendwelchen randomisierten Zeichen mit bis zu 100k einträgen gefüllt werden.</p>
<p>Meine Vermutung:<br />
Da ich noch ein anfänger bin und immer froh bin solange ein programm funktioniert aber nicht 100% genau weis was bei dem Zeiger und der speicherreservierung auf dem Heap passiert, vermute ich das es was damit zu tun hat.<br />
Das evtl. das Objekt nicht beliebig häufig übergeben werden kann?<br />
Das der Heap nach einer gewissen zeit gecleared wird ?<br />
Das irgendwie der zeiger an einen anderen ort springt ?<br />
Ich habe schon alles mögliche (was mir möglich ist) probiert aber habe einfach keine ahnung wie so ein fehler entstehen kann.</p>
<p>Ich Wiederhole nochmal die Frage die ich nun habe:<br />
Wie kann sowas passieren, was kann sowas auslösen, wie kann man sowas verhindern.</p>
<p>mfg Burnie365</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059728</guid><dc:creator><![CDATA[Burnie365]]></dc:creator><pubDate>Sun, 08 May 2011 22:51:01 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen einer Klasse werden spontan gelöscht[10euro] on Fri, 06 May 2011 19:01:47 GMT]]></title><description><![CDATA[<p>Also wie die Ausgabe dort einen Einfluß auf den Heap haben kann, finde ich fraglich. Aber vermutlich hast du irgendwas anderes mit dem Setup kaputtgemacht, ohne es zu bemerken.</p>
<p>PS: Wenn es nicht unbedingt notwendig ist, würde ich auf den Head verzichten. Erzeug dein CSetup-Objekt auf dem Stack und übergib es als Referenz an die Funktionen, die es nutzen/verändern wollen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059732</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 06 May 2011 19:01:47 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen einer Klasse werden spontan gelöscht[10euro] on Sun, 08 May 2011 18:22:18 GMT]]></title><description><![CDATA[<p>So habs jetzt umgeschrieben das program ohne den Heap und über referenzen.<br />
Komischerweise löschen sich die klassen variablen immernoch in der gleichen zeile <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Es ist übrigens ob ich da cout oder irgend etwas anderes mache egal welchen code ich ausführe bekomme ich diesen fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2060564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060564</guid><dc:creator><![CDATA[Burnie365]]></dc:creator><pubDate>Sun, 08 May 2011 18:22:18 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen einer Klasse werden spontan gelöscht[10euro] on Sun, 08 May 2011 18:25:39 GMT]]></title><description><![CDATA[<p>Zeig doch mal ein wenig zusammenhängenden Code, damit wird den Fehler besser nachvollziehen können.<br />
(übrigens: Wenn egal ist, was dort anstelle der Ausgabe steht, war der Fehler vermutlich etwas weiter vorne im Code - möglicherweise eine Index-Überschreitung in einer der beteiligten Methoden)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2060566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060566</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 08 May 2011 18:25:39 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen einer Klasse werden spontan gelöscht[10euro] on Sun, 08 May 2011 22:50:19 GMT]]></title><description><![CDATA[<p>Das problem ist das es ein relativ umfangreiches projekt ist welches sich über mehrere Dateien erstreckt.<br />
Wie wäre es wenn du es mit mir mal über Teamviewer durchgehen würdest?<br />
meine $kype id ist: burnieonemill.<br />
Würde für ein gelöstes problem auch 10 euro bezahlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2060680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060680</guid><dc:creator><![CDATA[Burnie365]]></dc:creator><pubDate>Sun, 08 May 2011 22:50:19 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen einer Klasse werden spontan gelöscht[10euro] on Sun, 08 May 2011 23:56:55 GMT]]></title><description><![CDATA[<p>lol...<br />
Problem gelöst das problem war das es kein problem gab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /><br />
Es ist nur so das der MS VS 2010 von basis klassen keine variablen überwachung besitzt ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2060682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060682</guid><dc:creator><![CDATA[Burnie365]]></dc:creator><pubDate>Sun, 08 May 2011 23:56:55 GMT</pubDate></item></channel></rss>