<?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 mit typeid()...exception bei dereferenzierten Pointern...p*]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes problem mit dem typeid-operator. Ich habe eine Basis-Klasse BaseClass und davon abgeleitet mehrere Kindklassen, z.b. ChildB, ChildC etc.</p>
<p>Desweiteren habe ich einen vector erstellt, der mit Pointern auf die Basis-klasse gefuellt werden kann (vector&lt;BaseClass *&gt; myelementList;).</p>
<p>Den vector befuelle ich mit Elementen der Kindklassen, wobei ich das folgendermaßen mache:<br />
BaseClass * element = new ChildB;<br />
myElementList.push_back(element);</p>
<p>Soweit, sogut...an anderer Stelle greife ich nun auf die Elemente zurueck und wuerde gerne einen runtime check auf die Klasse mithilfe von typeid machen. Ich mach das so:<br />
BaseClass * nextElement = myElementList[i];<br />
printf(&quot;Type ist: %s&quot;, typeid(nextElement).name);</p>
<p>Wenn ich es so mache, gibt typeid die Basisklasse zurueck. Habe im Netz gefunden, dass man den pointer dereferenzieren muss, aber bei *nextElement bekomme ich ne exception (non_rtti_element)??...wie kann das denn sein???...hat jemannd ne idee??....ich hab auch in der Basisklasse ne virtual function eingebaut, aber leider ohne effekt...:(....</p>
<p>Nur nebenbei, ich weiss schon wie ich ohne typeid auskomme, nur wuerde es mich schon brennend interessieren, was ich da falsch mache.....</p>
<p>DANKE fuer jede antwort...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/242021/problem-mit-typeid-exception-bei-dereferenzierten-pointern-p</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 20:13:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/242021.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 28 May 2009 21:06:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit typeid()...exception bei dereferenzierten Pointern...p* on Thu, 28 May 2009 21:06:01 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes problem mit dem typeid-operator. Ich habe eine Basis-Klasse BaseClass und davon abgeleitet mehrere Kindklassen, z.b. ChildB, ChildC etc.</p>
<p>Desweiteren habe ich einen vector erstellt, der mit Pointern auf die Basis-klasse gefuellt werden kann (vector&lt;BaseClass *&gt; myelementList;).</p>
<p>Den vector befuelle ich mit Elementen der Kindklassen, wobei ich das folgendermaßen mache:<br />
BaseClass * element = new ChildB;<br />
myElementList.push_back(element);</p>
<p>Soweit, sogut...an anderer Stelle greife ich nun auf die Elemente zurueck und wuerde gerne einen runtime check auf die Klasse mithilfe von typeid machen. Ich mach das so:<br />
BaseClass * nextElement = myElementList[i];<br />
printf(&quot;Type ist: %s&quot;, typeid(nextElement).name);</p>
<p>Wenn ich es so mache, gibt typeid die Basisklasse zurueck. Habe im Netz gefunden, dass man den pointer dereferenzieren muss, aber bei *nextElement bekomme ich ne exception (non_rtti_element)??...wie kann das denn sein???...hat jemannd ne idee??....ich hab auch in der Basisklasse ne virtual function eingebaut, aber leider ohne effekt...:(....</p>
<p>Nur nebenbei, ich weiss schon wie ich ohne typeid auskomme, nur wuerde es mich schon brennend interessieren, was ich da falsch mache.....</p>
<p>DANKE fuer jede antwort...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717582</guid><dc:creator><![CDATA[maxpower256]]></dc:creator><pubDate>Thu, 28 May 2009 21:06:01 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit typeid()...exception bei dereferenzierten Pointern...p* on Thu, 28 May 2009 22:03:24 GMT]]></title><description><![CDATA[<p>sorry, an alle...ich antworte mir einfach mal selbst.....das Problem war, dass man extra in den Projekteinstellungen unter C++/Language einstellen muss, dass das Runtime-typing funktioniert...;)...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717602</guid><dc:creator><![CDATA[maxpower256]]></dc:creator><pubDate>Thu, 28 May 2009 22:03:24 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit typeid()...exception bei dereferenzierten Pointern...p* on Thu, 07 Apr 2011 09:28:53 GMT]]></title><description><![CDATA[<p>Hatte das gleiche Problem und war schon fast am verzweifeln. Vielen Dank. <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/2045882</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2045882</guid><dc:creator><![CDATA[C++_X]]></dc:creator><pubDate>Thu, 07 Apr 2011 09:28:53 GMT</pubDate></item></channel></rss>