<?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[Deklaration von Templates]]></title><description><![CDATA[<p>Hallo Leute,<br />
kann mir jemand von euch vielleicht sagen, wie ich ein Template in einer Dll deklarieren muss?</p>
<p>Wenn ich das so mache:</p>
<p>//Header<br />
#define DllExport _declspec (dllexport)<br />
template &lt;class T&gt; DllExport bool Min (T a, T b);</p>
<p>//Definition<br />
template &lt;class T&gt; bool Min (T a, T b)<br />
{ return (a&lt;b) ? a : b; }</p>
<p>kann ich die Dll problemlos compilieren. Aber beim Functionsaufruf im Programm mit z.B. bool x= Min (10,20) bekomme ich<br />
LNK2019: Nicht aufgeloestes externes Symbol &quot;bool __cdecl Min(int,int)&quot;<br />
Danke schon mal im voraus.<br />
denali</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/118087/deklaration-von-templates</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 07:12:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/118087.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 Aug 2005 06:55:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Deklaration von Templates on Mon, 15 Aug 2005 06:55:44 GMT]]></title><description><![CDATA[<p>Hallo Leute,<br />
kann mir jemand von euch vielleicht sagen, wie ich ein Template in einer Dll deklarieren muss?</p>
<p>Wenn ich das so mache:</p>
<p>//Header<br />
#define DllExport _declspec (dllexport)<br />
template &lt;class T&gt; DllExport bool Min (T a, T b);</p>
<p>//Definition<br />
template &lt;class T&gt; bool Min (T a, T b)<br />
{ return (a&lt;b) ? a : b; }</p>
<p>kann ich die Dll problemlos compilieren. Aber beim Functionsaufruf im Programm mit z.B. bool x= Min (10,20) bekomme ich<br />
LNK2019: Nicht aufgeloestes externes Symbol &quot;bool __cdecl Min(int,int)&quot;<br />
Danke schon mal im voraus.<br />
denali</p>
]]></description><link>https://www.c-plusplus.net/forum/post/852321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/852321</guid><dc:creator><![CDATA[denali]]></dc:creator><pubDate>Mon, 15 Aug 2005 06:55:44 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Templates on Mon, 15 Aug 2005 07:06:34 GMT]]></title><description><![CDATA[<p>Rückgabetyp ist bool, du gibst aber T zurück <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Ansonsten, wo steht Deklaration und Definition ?<br />
export beherrschen die meisten Compiler (noch) nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/852323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/852323</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Mon, 15 Aug 2005 07:06:34 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Templates on Mon, 15 Aug 2005 07:14:27 GMT]]></title><description><![CDATA[<p>phlox81 schrieb:</p>
<blockquote>
<p>Rückgabetyp ist bool, du gibst aber T zurück <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Ansonsten, wo steht Deklaration und Definition ?<br />
export beherrschen die meisten Compiler (noch) nicht.</p>
</blockquote>
<p>Hi,<br />
Deklaration und Definition stehen beide im Quellcode der Dll.<br />
Also: stuff.cpp und stuff.h<br />
Der Aufruf in irgendeinem anderen Programm, das diese nutzt.<br />
Warum gebe ich T zurück? mein Rückgabewert ist return (a&lt;b) und das ist bool!<br />
DllExport funkt, da alle anderen Deklarationen einwandfrei erkannt werden. Nur halt die Templates nicht. Im übrigen ist es MS-VC7.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/852326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/852326</guid><dc:creator><![CDATA[denali]]></dc:creator><pubDate>Mon, 15 Aug 2005 07:14:27 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Templates on Mon, 15 Aug 2005 07:36:57 GMT]]></title><description><![CDATA[<p>templates aus einer dll exportieren geht gar nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/852335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/852335</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Mon, 15 Aug 2005 07:36:57 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Templates on Mon, 15 Aug 2005 07:41:24 GMT]]></title><description><![CDATA[<p>Bist du da sicher? Microsoft macht das ja mit seiner ATL genauso.<br />
Gerade in einer Bibliothek sind doch allgemeine Funktionen gefragt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/852338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/852338</guid><dc:creator><![CDATA[denali]]></dc:creator><pubDate>Mon, 15 Aug 2005 07:41:24 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Templates on Mon, 15 Aug 2005 07:43:09 GMT]]></title><description><![CDATA[<p>bei atl stehen die templates im header</p>
]]></description><link>https://www.c-plusplus.net/forum/post/852340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/852340</guid><dc:creator><![CDATA[dll]]></dc:creator><pubDate>Mon, 15 Aug 2005 07:43:09 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Templates on Mon, 15 Aug 2005 07:44:04 GMT]]></title><description><![CDATA[<p>denali schrieb:</p>
<blockquote>
<p>Bist du da sicher? Microsoft macht das ja mit seiner ATL genauso.<br />
Gerade in einer Bibliothek sind doch allgemeine Funktionen gefragt.</p>
</blockquote>
<p>Die ATL kenne ich nicht, aber Templates werden zur Compilezeit instanziiert. Was<br />
soll der Compiler nun machen, wenn du ein allgemeines Template in einer DLL<br />
abspeichern willst? Von welchem Typ soll ¨T¨ jeweils sein? void, int oder float?<br />
Oder doch von einem anderen Typ?</p>
<p>mfg<br />
v R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/852341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/852341</guid><dc:creator><![CDATA[virtuell Realisticer]]></dc:creator><pubDate>Mon, 15 Aug 2005 07:44:04 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Templates on Mon, 15 Aug 2005 07:47:46 GMT]]></title><description><![CDATA[<p>Danke, ist mir jetzt schon klar. Wenn ich das Ganze im Header definiere (wie vorhin vorgeschlagen), der ja zu Compilezeit mit ausgewertet wird. funktioniert es.<br />
Groß<br />
Denali</p>
]]></description><link>https://www.c-plusplus.net/forum/post/852343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/852343</guid><dc:creator><![CDATA[denali]]></dc:creator><pubDate>Mon, 15 Aug 2005 07:47:46 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Templates on Mon, 15 Aug 2005 07:55:09 GMT]]></title><description><![CDATA[<p>dann kannst du dir auch dein DllExport schenken <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/852348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/852348</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Mon, 15 Aug 2005 07:55:09 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Templates on Mon, 15 Aug 2005 09:10:33 GMT]]></title><description><![CDATA[<p>denali schrieb:</p>
<blockquote>
<p>phlox81 schrieb:</p>
<blockquote>
<p>Rückgabetyp ist bool, du gibst aber T zurück <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Ansonsten, wo steht Deklaration und Definition ?<br />
export beherrschen die meisten Compiler (noch) nicht.</p>
</blockquote>
<p>Hi,<br />
Deklaration und Definition stehen beide im Quellcode der Dll.<br />
Also: stuff.cpp und stuff.h<br />
Der Aufruf in irgendeinem anderen Programm, das diese nutzt.<br />
Warum gebe ich T zurück? mein Rückgabewert ist return (a&lt;b) und das ist bool!</p>
</blockquote>
<p>Wieso steht dann dahinter noch ?a:b ?? Was bezweckst du damit ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/852376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/852376</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Mon, 15 Aug 2005 09:10:33 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Templates on Mon, 15 Aug 2005 09:20:09 GMT]]></title><description><![CDATA[<p>Das war völliger Schwachsinn! Du hattest ja auch Recht. Ich hab tatsächlich Typ T zurückgegeben und nicht das Ergebnis des Vergleichs. Reine Gewohnheit, weil ich solche Funktionen normalerweise als <strong>int F()</strong> schreibe und nicht als bool.<br />
Aber der eigentliche Fehler war die Sache mit der Definition im Header.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/852381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/852381</guid><dc:creator><![CDATA[denali]]></dc:creator><pubDate>Mon, 15 Aug 2005 09:20:09 GMT</pubDate></item></channel></rss>