<?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[Problem beim Löschen eines Objekts]]></title><description><![CDATA[<p>Hi,<br />
Ich habe mir eine Liste geschrieben. CKnot ist die Klasse für einen Knoten in der Liste:</p>
<pre><code>class CKnot;
typedef CKnot *PKnot;

class CKnot
{
public:
	void*	Value;
	PKnot	Next;
	PKnot	Prior;

	inline CKnot(void* pValue)	{ Value = pValue; Next = Prior = NULL; }
};
</code></pre>
<p><em>Value</em> soll man alle möglichen Klassen zuordnen können. Ich glaube eher nicht, dass das mit <em>void</em>* funktioniert.</p>
<p>Wenn ich jetzt</p>
<pre><code>delete Value
</code></pre>
<p>versuche, dann bricht das programm immer ab.</p>
<p>Wie kann ich dem Compiler klar machen, dass es sich bei <em>Value</em> um eine Klasse handelt?</p>
<p>Danke im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/147280/problem-beim-löschen-eines-objekts</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 08:40:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/147280.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 May 2006 15:00:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim Löschen eines Objekts on Mon, 15 May 2006 15:00:38 GMT]]></title><description><![CDATA[<p>Hi,<br />
Ich habe mir eine Liste geschrieben. CKnot ist die Klasse für einen Knoten in der Liste:</p>
<pre><code>class CKnot;
typedef CKnot *PKnot;

class CKnot
{
public:
	void*	Value;
	PKnot	Next;
	PKnot	Prior;

	inline CKnot(void* pValue)	{ Value = pValue; Next = Prior = NULL; }
};
</code></pre>
<p><em>Value</em> soll man alle möglichen Klassen zuordnen können. Ich glaube eher nicht, dass das mit <em>void</em>* funktioniert.</p>
<p>Wenn ich jetzt</p>
<pre><code>delete Value
</code></pre>
<p>versuche, dann bricht das programm immer ab.</p>
<p>Wie kann ich dem Compiler klar machen, dass es sich bei <em>Value</em> um eine Klasse handelt?</p>
<p>Danke im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058247</guid><dc:creator><![CDATA[SomeBody]]></dc:creator><pubDate>Mon, 15 May 2006 15:00:38 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Löschen eines Objekts on Mon, 15 May 2006 15:14:15 GMT]]></title><description><![CDATA[<p>Nur mit Templates. Da ein void-Zeiger weder polymorph ist noch irgendwas über den Typ des Zeigers weiss, geht der Destruktoraufruf immer ins Leere.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058261</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 15 May 2006 15:14:15 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Löschen eines Objekts on Mon, 15 May 2006 15:16:04 GMT]]></title><description><![CDATA[<p>Danke für deine Antwort, ich werd mich mal darüber informieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058262</guid><dc:creator><![CDATA[SomeBody]]></dc:creator><pubDate>Mon, 15 May 2006 15:16:04 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Löschen eines Objekts on Mon, 15 May 2006 15:15:40 GMT]]></title><description><![CDATA[<p>So etwas nennt man &quot;undefiniertes Verhalten&quot; <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1058263</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058263</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 15 May 2006 15:15:40 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Löschen eines Objekts on Mon, 15 May 2006 21:53:26 GMT]]></title><description><![CDATA[<p>also muss ich -wenn ich mich mal einmsichen darf-^^ den zeiger vorher casten bspw so:</p>
<p>delete (PIRGENDWAS)Value;</p>
<p>oder wie ... ? <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=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058522</guid><dc:creator><![CDATA[hmmm.m.ö]]></dc:creator><pubDate>Mon, 15 May 2006 21:53:26 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Löschen eines Objekts on Tue, 16 May 2006 08:36:18 GMT]]></title><description><![CDATA[<p>Ja, das geht aber nur wenn Du 100%ig weisst, dass hinter dem void-Zeiger auch wirklich so ein PIRGENDWAS steht. Ein falscher Cast läuft nicht ins leere, er würde das Objekt einfach falsch interpretieren und dann natürlich auch falsch löschen. Vollständig typenlose Container wie in .NET a la</p>
<pre><code class="language-cpp">void* zeiger = vec[0];
if (typeof(zeiger) is MyClass)
  delete (MyClass*) zeiger;
</code></pre>
<p>gibt es nicht. Deshalb löst man das eher mit Templates.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058632</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 16 May 2006 08:36:18 GMT</pubDate></item></channel></rss>