<?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[Debug Assertion Failed !]]></title><description><![CDATA[<p>Was kann man bei der Fehlermeldung machen. Irgendwas mit Heap-Speicher-Verwaltung stimmt da nicht. Ich hab eine Funktion geschrieben, in der ich den Inhalt einer Datenstruktur aufteile. Habs auch mit STL-Vektoren anstatt Arrays probiert, aber gleiche Fehlermeldung.<br />
Wenn er die Funktion verlassen will, kommt folgender Fehlermeldung im Debug-Modus.</p>
<p>Fehlermeldung:<br />
**Debug Assertion Failed!</p>
<p>Program: ....<br />
File: dbgheap.c<br />
Line: 1011</p>
<p>Expression: _CrtIsValidHeapPointer(pUserData)**</p>
<pre><code>void CKundenZeichnung::uebertrageInhalte(CRegionen regionen,CKonturen* konturen)
{
	vec_konturen=new CKonturen*[regionen.region.size()];
	for (int akt_reg=0;akt_reg&lt; regionen.region.size();akt_reg++) // durch alle Regionen gehen
	{
		//Initialisierung
		CKonturen* newKonturen = new CKonturen();
		//Anzahl der Konturen:

		newKonturen-&gt;npts = new int[regionen.region[akt_reg].size()];
		// Anzahl der Punkte in der kontur:
		for (int kont=0;kont&lt; regionen.region[akt_reg].size(); kont++)
		{

			newKonturen-&gt;npts[kont]=konturen-&gt;npts[regionen.region[akt_reg][kont&rsqb;&rsqb;;
		}
		//Initialisierung für die Punkte:

		newKonturen-&gt;pts= new CvPoint*[regionen.region[akt_reg].size()];

		for (int z=0;z&lt;regionen.region[akt_reg].size();z++)//durch Konturen der Region
		{

			newKonturen-&gt;pts[z]=new CvPoint[newKonturen-&gt;npts[z&rsqb;&rsqb;;
		}

		//eigentlicher Kopiervorgang
		newKonturen-&gt;anzahl=regionen.region[akt_reg].size();
		for (kont=0;kont&lt; regionen.region[akt_reg].size(); kont++)
		{
			for (int punkt=0; punkt&lt; konturen-&gt;npts[regionen.region[akt_reg][kont&rsqb;&rsqb;;punkt++)
			{
				newKonturen-&gt;pts[kont][punkt].x =konturen-&gt;pts[regionen.region[akt_reg][kont&rsqb;&rsqb;[punkt].x;
				newKonturen-&gt;pts[kont][punkt].y =konturen-&gt;pts[regionen.region[akt_reg][kont&rsqb;&rsqb;[punkt].y;
			}
		}

		vec_konturen[akt_reg]=newKonturen;
	}	
	ausgebenKonturen();

}
</code></pre>
<p>Im Release-Modus läuft er an der Stelle weiter, aber bringt trotzdem eine Standard-Fehlermeldung.</p>
<p>Was kann man da noch machen ???<br />
Bin schon ziemlich hilflos. Beim Googlen findet man auch keine richtigen Antworten.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/118925/debug-assertion-failed</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 18:47:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/118925.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Aug 2005 16:12:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Debug Assertion Failed ! on Thu, 25 Aug 2005 16:12:06 GMT]]></title><description><![CDATA[<p>Was kann man bei der Fehlermeldung machen. Irgendwas mit Heap-Speicher-Verwaltung stimmt da nicht. Ich hab eine Funktion geschrieben, in der ich den Inhalt einer Datenstruktur aufteile. Habs auch mit STL-Vektoren anstatt Arrays probiert, aber gleiche Fehlermeldung.<br />
Wenn er die Funktion verlassen will, kommt folgender Fehlermeldung im Debug-Modus.</p>
<p>Fehlermeldung:<br />
**Debug Assertion Failed!</p>
<p>Program: ....<br />
File: dbgheap.c<br />
Line: 1011</p>
<p>Expression: _CrtIsValidHeapPointer(pUserData)**</p>
<pre><code>void CKundenZeichnung::uebertrageInhalte(CRegionen regionen,CKonturen* konturen)
{
	vec_konturen=new CKonturen*[regionen.region.size()];
	for (int akt_reg=0;akt_reg&lt; regionen.region.size();akt_reg++) // durch alle Regionen gehen
	{
		//Initialisierung
		CKonturen* newKonturen = new CKonturen();
		//Anzahl der Konturen:

		newKonturen-&gt;npts = new int[regionen.region[akt_reg].size()];
		// Anzahl der Punkte in der kontur:
		for (int kont=0;kont&lt; regionen.region[akt_reg].size(); kont++)
		{

			newKonturen-&gt;npts[kont]=konturen-&gt;npts[regionen.region[akt_reg][kont&rsqb;&rsqb;;
		}
		//Initialisierung für die Punkte:

		newKonturen-&gt;pts= new CvPoint*[regionen.region[akt_reg].size()];

		for (int z=0;z&lt;regionen.region[akt_reg].size();z++)//durch Konturen der Region
		{

			newKonturen-&gt;pts[z]=new CvPoint[newKonturen-&gt;npts[z&rsqb;&rsqb;;
		}

		//eigentlicher Kopiervorgang
		newKonturen-&gt;anzahl=regionen.region[akt_reg].size();
		for (kont=0;kont&lt; regionen.region[akt_reg].size(); kont++)
		{
			for (int punkt=0; punkt&lt; konturen-&gt;npts[regionen.region[akt_reg][kont&rsqb;&rsqb;;punkt++)
			{
				newKonturen-&gt;pts[kont][punkt].x =konturen-&gt;pts[regionen.region[akt_reg][kont&rsqb;&rsqb;[punkt].x;
				newKonturen-&gt;pts[kont][punkt].y =konturen-&gt;pts[regionen.region[akt_reg][kont&rsqb;&rsqb;[punkt].y;
			}
		}

		vec_konturen[akt_reg]=newKonturen;
	}	
	ausgebenKonturen();

}
</code></pre>
<p>Im Release-Modus läuft er an der Stelle weiter, aber bringt trotzdem eine Standard-Fehlermeldung.</p>
<p>Was kann man da noch machen ???<br />
Bin schon ziemlich hilflos. Beim Googlen findet man auch keine richtigen Antworten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/858500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858500</guid><dc:creator><![CDATA[brainesic]]></dc:creator><pubDate>Thu, 25 Aug 2005 16:12:06 GMT</pubDate></item><item><title><![CDATA[Reply to Debug Assertion Failed ! on Thu, 25 Aug 2005 18:13:11 GMT]]></title><description><![CDATA[<p>Dann kuckst du im Stacktrace des Debuggers mal von welcher Stelle aus, in deinem<br />
Code, der Fehler ausgelöst wird.<br />
Da du selbst nicht angibst wo die Fehlerstelle ist und meine Kristallkugel<br />
kaputt ist, musst/willst du dein Problem wahrscheinlich alleine lösen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/858587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858587</guid><dc:creator><![CDATA[Redhead]]></dc:creator><pubDate>Thu, 25 Aug 2005 18:13:11 GMT</pubDate></item><item><title><![CDATA[Reply to Debug Assertion Failed ! on Fri, 26 Aug 2005 10:30:20 GMT]]></title><description><![CDATA[<p>Hab das fehlerverursachende Übel gefunden:</p>
<p>Die Übergrabe des Parameters &quot;CRegionen regionen&quot; als Objekt. Hat zwar mit der Weiterverarbeitung der Werte funktioniert, aber zum besagten Abbruch geührt. Habe jetzt den Zugriff verzeigert (CRegionen *regionen als Parameter und regionen-&gt; anstatt regionen. ) und es geht <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/858903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858903</guid><dc:creator><![CDATA[brainesic]]></dc:creator><pubDate>Fri, 26 Aug 2005 10:30:20 GMT</pubDate></item><item><title><![CDATA[Reply to Debug Assertion Failed ! on Fri, 26 Aug 2005 13:18:16 GMT]]></title><description><![CDATA[<p>brainesic schrieb:</p>
<blockquote>
<p>Die Übergrabe des Parameters &quot;CRegionen regionen&quot; als Objekt. Hat zwar mit der Weiterverarbeitung der Werte funktioniert, aber zum besagten Abbruch geührt.</p>
</blockquote>
<p>Da fehlt dann wohl ein ordentlicher Copy-Ctor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/859028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/859028</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Fri, 26 Aug 2005 13:18:16 GMT</pubDate></item></channel></rss>