<?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[Absturz bei delete (DAMAGE: after Normal Block...)]]></title><description><![CDATA[<p>Code:</p>
<pre><code class="language-cpp">class CProcPath : public CObject{

	private:
		int	*m_aiOptions; // Zeiger auf Optionen des Pfades.
		const int m_iSize;
	public:

		CProcPath(int iOptCount) : m_aiOptions(NULL), m_iSize(iOptCount){
			//Erzeugen
			m_aiOptions = new int[iOptCount];
			//Initialisieren
			for(UINT i=0; i&lt; getOptCount(); i++,m_aiOptions[i]=-1);
		}

		CProcPath::~CProcPath(){
			//Optionsarray löschen
			delete[] m_aiOptions; //&lt;--- ABSTURZ
		}

		int CProcPath::getOptCount() const { return m_iSize; }

		int &amp;CProcPath::operator[](size_t index){
			//Prüfen ob Index ok		
			if(index&lt;0 || index&gt;= getOptCount())
				ASSERT(index&gt;=0);
			return m_aiOptions[index];
		}

		void setDirection(size_t index,int i){ m_aiOptions[index]=i;}

		void DEBUG_Trace(){
			CString str;
			int k= getOptCount();
			for(int i=0; i&lt; getOptCount(); i++){
				str.AppendFormat(&quot;%i &quot;,m_aiOptions[i]);
			}
			str.Append(&quot;\n&quot;);
			TRACE(str);
		}

	};
</code></pre>
<p>Programm stürzt ab im Destuktor bei delete. Hab ich was über sehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/178299/absturz-bei-delete-damage-after-normal-block</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 20:14:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/178299.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Apr 2007 09:17:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Absturz bei delete (DAMAGE: after Normal Block...) on Tue, 10 Apr 2007 09:17:59 GMT]]></title><description><![CDATA[<p>Code:</p>
<pre><code class="language-cpp">class CProcPath : public CObject{

	private:
		int	*m_aiOptions; // Zeiger auf Optionen des Pfades.
		const int m_iSize;
	public:

		CProcPath(int iOptCount) : m_aiOptions(NULL), m_iSize(iOptCount){
			//Erzeugen
			m_aiOptions = new int[iOptCount];
			//Initialisieren
			for(UINT i=0; i&lt; getOptCount(); i++,m_aiOptions[i]=-1);
		}

		CProcPath::~CProcPath(){
			//Optionsarray löschen
			delete[] m_aiOptions; //&lt;--- ABSTURZ
		}

		int CProcPath::getOptCount() const { return m_iSize; }

		int &amp;CProcPath::operator[](size_t index){
			//Prüfen ob Index ok		
			if(index&lt;0 || index&gt;= getOptCount())
				ASSERT(index&gt;=0);
			return m_aiOptions[index];
		}

		void setDirection(size_t index,int i){ m_aiOptions[index]=i;}

		void DEBUG_Trace(){
			CString str;
			int k= getOptCount();
			for(int i=0; i&lt; getOptCount(); i++){
				str.AppendFormat(&quot;%i &quot;,m_aiOptions[i]);
			}
			str.Append(&quot;\n&quot;);
			TRACE(str);
		}

	};
</code></pre>
<p>Programm stürzt ab im Destuktor bei delete. Hab ich was über sehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262735</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 10 Apr 2007 09:17:59 GMT</pubDate></item><item><title><![CDATA[Reply to Absturz bei delete (DAMAGE: after Normal Block...) on Tue, 10 Apr 2007 09:21:15 GMT]]></title><description><![CDATA[<p>Erstens hast du das ASSERT() falsch eingesetzt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Und zweitens fehlr dir vermutlich ein Copy-Ctor und operator=.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262736</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262736</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 10 Apr 2007 09:21:15 GMT</pubDate></item><item><title><![CDATA[Reply to Absturz bei delete (DAMAGE: after Normal Block...) on Tue, 10 Apr 2007 09:30:02 GMT]]></title><description><![CDATA[<p>hmm aber kann es daran liegen das er im Dstruktor abstürzt?</p>
<p>wenn ich nur:</p>
<pre><code class="language-cpp">CProcPath *p = new CProcPath(5);
</code></pre>
<p>und dann</p>
<pre><code class="language-cpp">delete p;
</code></pre>
<p>mache kackt er schon ab, dafür brauch ich keinen Copy-Ctor... und das ASSERT ist auch egal..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262743</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 10 Apr 2007 09:30:02 GMT</pubDate></item><item><title><![CDATA[Reply to Absturz bei delete (DAMAGE: after Normal Block...) on Tue, 10 Apr 2007 09:33:17 GMT]]></title><description><![CDATA[<p>mach aus:</p>
<pre><code>for(UINT i=0; i&lt; getOptCount(); i++,m_aiOptions[i]=-1);
</code></pre>
<p>das:</p>
<pre><code>for(int i=0; i&lt; getOptCount(); i++)
  m_aiOptions[i]=-1;
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262747</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262747</guid><dc:creator><![CDATA[vista]]></dc:creator><pubDate>Tue, 10 Apr 2007 09:33:17 GMT</pubDate></item><item><title><![CDATA[Reply to Absturz bei delete (DAMAGE: after Normal Block...) on Tue, 10 Apr 2007 09:36:08 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/15258">@vista</a>: sauber... jetzt klappts:)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262754</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 10 Apr 2007 09:36:08 GMT</pubDate></item><item><title><![CDATA[Reply to Absturz bei delete (DAMAGE: after Normal Block...) on Tue, 10 Apr 2007 09:42:00 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/15258">@vista</a>: sauber... jetzt klappts:)</p>
</blockquote>
<p>...und weisst du auch warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262760</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262760</guid><dc:creator><![CDATA[vista]]></dc:creator><pubDate>Tue, 10 Apr 2007 09:42:00 GMT</pubDate></item><item><title><![CDATA[Reply to Absturz bei delete (DAMAGE: after Normal Block...) on Tue, 10 Apr 2007 09:59:22 GMT]]></title><description><![CDATA[<p>weil ich &quot;i&quot; erhöhe bevor ich auf den bereich zugriefe, und so komm ich jedes mal eine einheit über die Array größe !! odeR?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262777</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262777</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 10 Apr 2007 09:59:22 GMT</pubDate></item><item><title><![CDATA[Reply to Absturz bei delete (DAMAGE: after Normal Block...) on Tue, 10 Apr 2007 11:17:32 GMT]]></title><description><![CDATA[<p>Ja. Trotzdem benötigst du jetzt noch einen CopyCTor und einen Op=, siehe dazu auch &quot;Die Regel der großen 3&quot;: <a href="http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=BigThree#Answ" rel="nofollow">http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=BigThree#Answ</a></p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262863</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Tue, 10 Apr 2007 11:17:32 GMT</pubDate></item><item><title><![CDATA[Reply to Absturz bei delete (DAMAGE: after Normal Block...) on Wed, 11 Apr 2007 07:35:40 GMT]]></title><description><![CDATA[<p>naja Rgel hi noder her.. aber die werde ich nie brauchen...</p>
<p>ich erzeuge ein int array</p>
<pre><code class="language-cpp">int *p = new int[x];
</code></pre>
<p>imd Konsturktor und lösceh diese wieder im destruktor mit</p>
<pre><code class="language-cpp">delete[] p;
</code></pre>
<p>oder gibts keine ausnahme?</p>
<p>Ich kopiere nie ein objekt welche das array enthält oder weise es einem anderen zu....NIE <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> oder hat es andere grüde?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263530</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 11 Apr 2007 07:35:40 GMT</pubDate></item><item><title><![CDATA[Reply to Absturz bei delete (DAMAGE: after Normal Block...) on Wed, 11 Apr 2007 07:48:00 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>Ich kopiere nie ein objekt welche das array enthält oder weise es einem anderen zu....NIE <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> oder hat es andere grüde?</p>
</blockquote>
<p>Sei vorsichtig mit diesen Aussagen - Kopien tauchen mitunter schneller auf als dir lieb ist - und wenn du dann nicht vorgesorgt hast, fliegt dir das Programm um die Ohren.</p>
<p>PS: Und wenn du ganz sicher bist, daß du diese Klasse <strong>NIE</strong> kopieren willst, solltest du das auch dem Compiler sagen:</p>
<pre><code class="language-cpp">class CProcPath : public CObject
{
  ...
private:
  //Kopier-Operationen privat und OHNE IMPLEMENTATION
  CProcPath(const CProcPath&amp;);
  CPorcPath&amp; operator=(const CProcPath&amp;);
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1263538</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263538</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 11 Apr 2007 07:48:00 GMT</pubDate></item></channel></rss>