<?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[Programm terminiert ohne ersichtlichen Grund]]></title><description><![CDATA[<p>Hi,</p>
<p>bin noch neu im Umgang mit c++, aber erheblich java vorgeschädigt.<br />
Beim überführen eines meiner Programme java -&gt; C++ terminiert das plötzlich C++ Programm ohne ersichtlichen Grund. Ich habe den kompletten auf die Grundstruktur reduzierten Inhalt der main in einen try/catch(...) Block gesteckt, kann aber keine Exception fangen. Ich habe auch terminate() und unexpected() neu gesetzt, aber die werden ebenfalls nicht aufgerufen. Das Programm ist leider zu komplex um es hier zu posten, daher versuche ich es zu umschreiben: Das Ganze ist ein LasVegas Algo mit 2 verschachtelten Schleifen, der &quot;Fehler&quot; tritt nach einer ähnlich groß bleibenden Anzahl an Durchläufen (4-6) vermutlich in dieser Zeile</p>
<blockquote>
<p>vector&lt;piece*&gt; * free = new vector&lt;piece*&gt;();</p>
</blockquote>
<p>auf, soweit sich das aus meiner Ausgabe erkennen lässt. (vector aus der STL), das Programm befindet sich hier (zumindest theoretisch) in einem bereits mehrfach durchlaufenen Zustand.<br />
Ich verstehe nicht, was hier falsch laufen kann, was sich nicht irgendwie bemerkbar macht. Ich suche jetzt seit über 10h nach einer Lösung, wäre nett wenn irgendwer einen hilfreichen Rat hätte ...</p>
<p>Danke</p>
<p>PS: eclipse auf WIN XP</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/203753/programm-terminiert-ohne-ersichtlichen-grund</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 19:03:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203753.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 26 Jan 2008 04:15:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programm terminiert ohne ersichtlichen Grund on Sat, 26 Jan 2008 04:15:16 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>bin noch neu im Umgang mit c++, aber erheblich java vorgeschädigt.<br />
Beim überführen eines meiner Programme java -&gt; C++ terminiert das plötzlich C++ Programm ohne ersichtlichen Grund. Ich habe den kompletten auf die Grundstruktur reduzierten Inhalt der main in einen try/catch(...) Block gesteckt, kann aber keine Exception fangen. Ich habe auch terminate() und unexpected() neu gesetzt, aber die werden ebenfalls nicht aufgerufen. Das Programm ist leider zu komplex um es hier zu posten, daher versuche ich es zu umschreiben: Das Ganze ist ein LasVegas Algo mit 2 verschachtelten Schleifen, der &quot;Fehler&quot; tritt nach einer ähnlich groß bleibenden Anzahl an Durchläufen (4-6) vermutlich in dieser Zeile</p>
<blockquote>
<p>vector&lt;piece*&gt; * free = new vector&lt;piece*&gt;();</p>
</blockquote>
<p>auf, soweit sich das aus meiner Ausgabe erkennen lässt. (vector aus der STL), das Programm befindet sich hier (zumindest theoretisch) in einem bereits mehrfach durchlaufenen Zustand.<br />
Ich verstehe nicht, was hier falsch laufen kann, was sich nicht irgendwie bemerkbar macht. Ich suche jetzt seit über 10h nach einer Lösung, wäre nett wenn irgendwer einen hilfreichen Rat hätte ...</p>
<p>Danke</p>
<p>PS: eclipse auf WIN XP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443848</guid><dc:creator><![CDATA[mikrowelle]]></dc:creator><pubDate>Sat, 26 Jan 2008 04:15:16 GMT</pubDate></item><item><title><![CDATA[Reply to Programm terminiert ohne ersichtlichen Grund on Sat, 26 Jan 2008 04:56:19 GMT]]></title><description><![CDATA[<p>da du java vorgeschädigt bist, sag ich dir mal, dass du in C++ nicht alles mit new auf dem heap anlegen musst.</p>
<pre><code class="language-cpp">vector&lt;piece*&gt; free;
</code></pre>
<p>reicht auch, wenn du die variable nur innerhalb eines bistimmtesn scopes benutzt (in einer Klasse, Funktion...).<br />
Wenn der vector zurück gegeben werden soll, dann macht man das in C++ besser anders</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443850</guid><dc:creator><![CDATA[ohkey]]></dc:creator><pubDate>Sat, 26 Jan 2008 04:56:19 GMT</pubDate></item><item><title><![CDATA[Reply to Programm terminiert ohne ersichtlichen Grund on Sat, 26 Jan 2008 08:01:45 GMT]]></title><description><![CDATA[<p>mikrowelle schrieb:</p>
<blockquote>
<p>Beim überführen eines meiner Programme java -&gt; C++ terminiert das plötzlich C++ Programm ohne ersichtlichen Grund. Ich habe den kompletten auf die Grundstruktur reduzierten Inhalt der main in einen try/catch(...) Block gesteckt, kann aber keine Exception fangen.</p>
</blockquote>
<p>Grundätzlich mehrere Anmerkungen:</p>
<p>1. Wie schon vorher erwähnt solltest du gerade als Java vorgeschädigter die dynamische Speicherallozierung nicht inflationär verwenden.<br />
2. Es gibt Fehler die keine Exception auslösen, hierzu gehören eigentlich alle Fehler die durch das Betriebssystem im Hintergrund eintreten.<br />
Beispielsweise zugriff auf einen uninitialisierten Zeiger (Access Violation). Hiervon gehe ich auch aus.<br />
3. Wenn du schon Zeiger verwendest solltest du daran denken das C++ keinen GC besitzt. Du solltest dir mal die Smartpointer von Boost (<a href="http://www.boost.org" rel="nofollow">www.boost.org</a>) anschauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443858</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Sat, 26 Jan 2008 08:01:45 GMT</pubDate></item></channel></rss>