<?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[abstrakte Basisklasse in boost::scoped_ptr]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich wollte einen Pointer auf eine abstrakte Basisklasse in einen scoped_ptr stecken um das Handling etwas zu vereinfachen. Das alles ist eine membervariable in einer anderen Klasse.<br />
Wenn ich das aber versuche zu kompilieren gibt es eine Fehlermeldung</p>
<blockquote>
<p>[C++ Fehler] checked_delete.hpp(32): E2450 Undefinierte Struktur 'delphin_data::CreatorBase'<br />
[C++ Fehler] checked_delete.hpp(32): E2109 Kein zulässiger Typ<br />
[C++ Fehler] checked_delete.hpp(32): E2021 Array muß mindestens ein Element enthalten.</p>
</blockquote>
<p>Wenn ich statt dessen shared_ptr oder auto_ptr verwende geht alles. In der boost Doku steht ja, dass man nur vollständige Typen (complete type) in einem scoped_ptr unterbringen kann. Ist das hier so ein Fall?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/216147/abstrakte-basisklasse-in-boost-scoped_ptr</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 18:30:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/216147.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 19 Jun 2008 16:29:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to abstrakte Basisklasse in boost::scoped_ptr on Thu, 19 Jun 2008 16:29:06 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich wollte einen Pointer auf eine abstrakte Basisklasse in einen scoped_ptr stecken um das Handling etwas zu vereinfachen. Das alles ist eine membervariable in einer anderen Klasse.<br />
Wenn ich das aber versuche zu kompilieren gibt es eine Fehlermeldung</p>
<blockquote>
<p>[C++ Fehler] checked_delete.hpp(32): E2450 Undefinierte Struktur 'delphin_data::CreatorBase'<br />
[C++ Fehler] checked_delete.hpp(32): E2109 Kein zulässiger Typ<br />
[C++ Fehler] checked_delete.hpp(32): E2021 Array muß mindestens ein Element enthalten.</p>
</blockquote>
<p>Wenn ich statt dessen shared_ptr oder auto_ptr verwende geht alles. In der boost Doku steht ja, dass man nur vollständige Typen (complete type) in einem scoped_ptr unterbringen kann. Ist das hier so ein Fall?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1532426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1532426</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 19 Jun 2008 16:29:06 GMT</pubDate></item><item><title><![CDATA[Reply to abstrakte Basisklasse in boost::scoped_ptr on Thu, 19 Jun 2008 16:34:27 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Wenn ich statt dessen shared_ptr oder auto_ptr verwende geht alles. In der boost Doku steht ja, dass man nur vollständige Typen (complete type) in einem scoped_ptr unterbringen kann. Ist das hier so ein Fall?</p>
</blockquote>
<p>Möglich, auch auto_ptr benötigt einen vollständig definierten Typ. checked_delete ist ja gerade dafür da, dies zu überprüfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1532430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1532430</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 19 Jun 2008 16:34:27 GMT</pubDate></item><item><title><![CDATA[Reply to abstrakte Basisklasse in boost::scoped_ptr on Thu, 19 Jun 2008 16:39:44 GMT]]></title><description><![CDATA[<p>Wo ist dann das Problem?<br />
Von dieser abstrakten Basisklasse werden natürlich weitere (konkrete) Klassen abgeleitet. Dies sind allerdings alles Templates (die Basisklasse nicht).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1532433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1532433</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 19 Jun 2008 16:39:44 GMT</pubDate></item><item><title><![CDATA[Reply to abstrakte Basisklasse in boost::scoped_ptr on Thu, 19 Jun 2008 17:27:47 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Wo ist dann das Problem?<br />
Von dieser abstrakten Basisklasse werden natürlich weitere (konkrete) Klassen abgeleitet. Dies sind allerdings alles Templates (die Basisklasse nicht).</p>
</blockquote>
<p>Es kommt darauf an, dass die Basisklasse vollständig definiert ist an der Stelle, an der der Zeiger definiert wird für auto_ptr, bzw. an der Stelle, an der der Destruktor instantiiert wird, im Falle von scoped_ptr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1532462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1532462</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 19 Jun 2008 17:27:47 GMT</pubDate></item></channel></rss>