<?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[auto_ptr unter Kylix]]></title><description><![CDATA[<p>Hi!</p>
<p>Folgender Code läßt sich unter BCB6 als CLX-Anwendung kompilieren und läuft auch.</p>
<pre><code class="language-cpp">std::auto_ptr&lt;TStringList&gt; a( new TStringList );

    std::map&lt;AnsiString, std::auto_ptr&lt;TStringList&gt; &gt; mapTest;

    mapTest[ &quot;A&quot; ] = a;
</code></pre>
<p>Unter Kylix3 bringt der Compiler aber einen Fehler.</p>
<pre><code>E2285 Could not find a match for 'auto_ptr_ref&lt;TStringList&gt;::auto_ptr_ref(auto_ptr&lt;TStringList&gt;,TStringList *)'
</code></pre>
<p>in der Datei memory</p>
<pre><code class="language-cpp">template&lt;class _Tp1&gt; operator auto_ptr_ref&lt;_Tp1&gt;() {
		return auto_ptr_ref&lt;_Tp1&gt;(*this, this-&gt;get());
	}
</code></pre>
<p>Kann jemand erklären, warum der Kylix-Compiler den auto_ptr_ref-Kontruktor nicht findet und was man dagegen tun kann?</p>
<p>Ich stehe vor einem echten Problem, wenn ich dafür keine Lösung finde, da dieser Code ein Teil eines größeren Projekts ist und dort solche maps aus AnsiStrings und auto-ptr'n recht oft vorkommen. Wie gesagt: Unter BCB6 (Windows) läuft das Programm problemlos.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/116547/auto_ptr-unter-kylix</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 00:58:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/116547.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 28 Jul 2005 08:15:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to auto_ptr unter Kylix on Thu, 28 Jul 2005 08:15:10 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Folgender Code läßt sich unter BCB6 als CLX-Anwendung kompilieren und läuft auch.</p>
<pre><code class="language-cpp">std::auto_ptr&lt;TStringList&gt; a( new TStringList );

    std::map&lt;AnsiString, std::auto_ptr&lt;TStringList&gt; &gt; mapTest;

    mapTest[ &quot;A&quot; ] = a;
</code></pre>
<p>Unter Kylix3 bringt der Compiler aber einen Fehler.</p>
<pre><code>E2285 Could not find a match for 'auto_ptr_ref&lt;TStringList&gt;::auto_ptr_ref(auto_ptr&lt;TStringList&gt;,TStringList *)'
</code></pre>
<p>in der Datei memory</p>
<pre><code class="language-cpp">template&lt;class _Tp1&gt; operator auto_ptr_ref&lt;_Tp1&gt;() {
		return auto_ptr_ref&lt;_Tp1&gt;(*this, this-&gt;get());
	}
</code></pre>
<p>Kann jemand erklären, warum der Kylix-Compiler den auto_ptr_ref-Kontruktor nicht findet und was man dagegen tun kann?</p>
<p>Ich stehe vor einem echten Problem, wenn ich dafür keine Lösung finde, da dieser Code ein Teil eines größeren Projekts ist und dort solche maps aus AnsiStrings und auto-ptr'n recht oft vorkommen. Wie gesagt: Unter BCB6 (Windows) läuft das Programm problemlos.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/840541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/840541</guid><dc:creator><![CDATA[warp]]></dc:creator><pubDate>Thu, 28 Jul 2005 08:15:10 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr unter Kylix on Thu, 28 Jul 2005 08:22:40 GMT]]></title><description><![CDATA[<p>Frag das lieber im C++ Unterforum.</p>
<p>auto_ptr in Container ist ne ganz ganz schlechte Idee.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/840548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/840548</guid><dc:creator><![CDATA[shared_ptr]]></dc:creator><pubDate>Thu, 28 Jul 2005 08:22:40 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr unter Kylix on Thu, 28 Jul 2005 08:36:49 GMT]]></title><description><![CDATA[<p>Stimmt schon: Das Thema würde auch ganz gut ins C++Forum passen. Ich habe es hier hinein gestellt, da es scheinbar speziell unter Kylix nicht funktioniert.</p>
<p>Warum ist auto_ptr im Container eine schlechte Idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/840556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/840556</guid><dc:creator><![CDATA[warp]]></dc:creator><pubDate>Thu, 28 Jul 2005 08:36:49 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr unter Kylix on Thu, 28 Jul 2005 09:03:08 GMT]]></title><description><![CDATA[<blockquote>
<p>STL-Containerelemente müssen häufig kopiert werden (z.B. beim Einfügen, Sortieren usw.). Aus diesem Grund erwartet man von ihnen, dass Kopie und Original äquivalent sind. Dies trifft auf auto_ptr aber nicht zu, da durch die Besitzübertragung das Original zurückgesetzt wird und nach dem Kopiervorgang auf NULL zeigt.</p>
<p>Standardkonformen Implementationen verweigern das Anlegen von STL-Containern mit auto_ptr bereits zur Compilezeit. Leider gibt es aber einige Implementationen (z.B. die des VCs von Microsoft) die dies erlauben. Dies ist nicht standard, nicht portable und niemals eine gute Idee.</p>
</blockquote>
<p>Quelle: <a href="http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=auto_ptr" rel="nofollow">http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=auto_ptr</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/840587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/840587</guid><dc:creator><![CDATA[shared_ptr]]></dc:creator><pubDate>Thu, 28 Jul 2005 09:03:08 GMT</pubDate></item></channel></rss>