<?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[speicherplatzfreigabe problem]]></title><description><![CDATA[<p>hallo,</p>
<p>ich hab die datenstruktur list&lt;bool**&gt; *solutions als objektattribut. innerhalb einer funktion werden der liste die unten aufgeführte elemente mit push_back(...) hinzugefügt:</p>
<pre><code>newpart = new bool*[maxpartitions];
for(int j = 0;j&lt;maxpartitions;j++){
	newpart[j] = new bool[length];
	for(int k = 0;k&lt;length;k++){
	newpart[j][k] = 0;
    }
}
</code></pre>
<p>im destruktor versuch ich den speicherplatz mit</p>
<pre><code>while(!solutions-&gt;empty()){
		delete[] solutions-&gt;front();
	}
</code></pre>
<p>wieder freizugeben, worauf ich folgende fehlernachricht bekomme:</p>
<p>MaxPart(1084) malloc: *** error for object 0x3005f0: double free<br />
MaxPart(1084) malloc: *** set a breakpoint in szone_error to debug</p>
<p>gruß<br />
ilow</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/174580/speicherplatzfreigabe-problem</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 19:26:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/174580.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Feb 2007 18:26:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to speicherplatzfreigabe problem on Wed, 28 Feb 2007 18:26:24 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>ich hab die datenstruktur list&lt;bool**&gt; *solutions als objektattribut. innerhalb einer funktion werden der liste die unten aufgeführte elemente mit push_back(...) hinzugefügt:</p>
<pre><code>newpart = new bool*[maxpartitions];
for(int j = 0;j&lt;maxpartitions;j++){
	newpart[j] = new bool[length];
	for(int k = 0;k&lt;length;k++){
	newpart[j][k] = 0;
    }
}
</code></pre>
<p>im destruktor versuch ich den speicherplatz mit</p>
<pre><code>while(!solutions-&gt;empty()){
		delete[] solutions-&gt;front();
	}
</code></pre>
<p>wieder freizugeben, worauf ich folgende fehlernachricht bekomme:</p>
<p>MaxPart(1084) malloc: *** error for object 0x3005f0: double free<br />
MaxPart(1084) malloc: *** set a breakpoint in szone_error to debug</p>
<p>gruß<br />
ilow</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1236996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1236996</guid><dc:creator><![CDATA[Ilow]]></dc:creator><pubDate>Wed, 28 Feb 2007 18:26:24 GMT</pubDate></item><item><title><![CDATA[Reply to speicherplatzfreigabe problem on Wed, 28 Feb 2007 18:28:03 GMT]]></title><description><![CDATA[<p>natürlich steht innerhalb der while schleife noch ein pop_front()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1236997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1236997</guid><dc:creator><![CDATA[Ilow]]></dc:creator><pubDate>Wed, 28 Feb 2007 18:28:03 GMT</pubDate></item><item><title><![CDATA[Reply to speicherplatzfreigabe problem on Thu, 01 Mar 2007 15:59:20 GMT]]></title><description><![CDATA[<p>In der while-Schleife sollte stehen:</p>
<pre><code>bool** ppb = solutions-&gt;front(); // erstes Element kopieren
solutions-&gt;pop_front();                // ... dann aus der Liste entfernen

// ... dann freigeben (und zwar vollständig):
for (int i = 0; i &lt; maxpartitions; ++i) delete[] ppb[i];
delete[] ppb;
</code></pre>
<p>Gruß Frdln</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237592</guid><dc:creator><![CDATA[Frdln]]></dc:creator><pubDate>Thu, 01 Mar 2007 15:59:20 GMT</pubDate></item></channel></rss>