<?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[Linkproblem: Mehrfach definierte Template-Spezialisierung]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich hab eine Template-Spezialisierung in einem Header-File. dieses File wird von 2 Dateien inkludiert (A.cpp und B.cpp). Diese beiden Files moechte ich nun zusammenlinken. Das geht nicht (&quot;multiple declaration of .....&quot;).</p>
<p>Das Problem: die beiden Files moecht ich auch unabhaengig voneinander linken koennen. Sprich A.cpp kommt in Binary A, B.cpp kommt in Binary B... A.cpp und B.cpp kommen gemeinsam in Binary AB.</p>
<p>Gibts fuer solche Faelle eine idiomatische Loesung?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/278228/linkproblem-mehrfach-definierte-template-spezialisierung</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 09:22:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/278228.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Dec 2010 11:45:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Linkproblem: Mehrfach definierte Template-Spezialisierung on Thu, 02 Dec 2010 11:45:31 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich hab eine Template-Spezialisierung in einem Header-File. dieses File wird von 2 Dateien inkludiert (A.cpp und B.cpp). Diese beiden Files moechte ich nun zusammenlinken. Das geht nicht (&quot;multiple declaration of .....&quot;).</p>
<p>Das Problem: die beiden Files moecht ich auch unabhaengig voneinander linken koennen. Sprich A.cpp kommt in Binary A, B.cpp kommt in Binary B... A.cpp und B.cpp kommen gemeinsam in Binary AB.</p>
<p>Gibts fuer solche Faelle eine idiomatische Loesung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1988953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988953</guid><dc:creator><![CDATA[Blue-Tiger]]></dc:creator><pubDate>Thu, 02 Dec 2010 11:45:31 GMT</pubDate></item><item><title><![CDATA[Reply to Linkproblem: Mehrfach definierte Template-Spezialisierung on Thu, 02 Dec 2010 12:04:22 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1988966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988966</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 02 Dec 2010 12:04:22 GMT</pubDate></item><item><title><![CDATA[Reply to Linkproblem: Mehrfach definierte Template-Spezialisierung on Thu, 02 Dec 2010 12:06:32 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>...</p>
</blockquote>
<p>Sitz ich auf der Leitung und das Problem liegt ganz woanders, oder gibts eine offensichtliche Loesung die mir grad nicht einfaellt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1988968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988968</guid><dc:creator><![CDATA[Blue-Tiger]]></dc:creator><pubDate>Thu, 02 Dec 2010 12:06:32 GMT</pubDate></item><item><title><![CDATA[Reply to Linkproblem: Mehrfach definierte Template-Spezialisierung on Thu, 02 Dec 2010 12:06:53 GMT]]></title><description><![CDATA[<p>Ich dachte, Templates wären immer static (und vielleicht auch inline). Kannst du mal bitte ein Minimalbeispiel posten?<br />
Zudem sieht mir multiple declaration eher nach Compiler- und nicht Linkerfehler aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1988969</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988969</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Thu, 02 Dec 2010 12:06:53 GMT</pubDate></item><item><title><![CDATA[Reply to Linkproblem: Mehrfach definierte Template-Spezialisierung on Thu, 02 Dec 2010 12:08:59 GMT]]></title><description><![CDATA[<p>Blue-Tiger schrieb:</p>
<blockquote>
<p>Gibts fuer solche Faelle eine idiomatische Loesung?</p>
</blockquote>
<p>inline.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1988970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988970</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 02 Dec 2010 12:08:59 GMT</pubDate></item><item><title><![CDATA[Reply to Linkproblem: Mehrfach definierte Template-Spezialisierung on Thu, 02 Dec 2010 14:38:55 GMT]]></title><description><![CDATA[<p>Blue-Tiger schrieb:</p>
<blockquote>
<p>Gibts fuer solche Faelle eine idiomatische Loesung?</p>
</blockquote>
<p>extern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989092</guid><dc:creator><![CDATA[Oppositant]]></dc:creator><pubDate>Thu, 02 Dec 2010 14:38:55 GMT</pubDate></item><item><title><![CDATA[Reply to Linkproblem: Mehrfach definierte Template-Spezialisierung on Thu, 02 Dec 2010 14:50:46 GMT]]></title><description><![CDATA[<p>Oppositant schrieb:</p>
<blockquote>
<p>Blue-Tiger schrieb:</p>
<blockquote>
<p>Gibts fuer solche Faelle eine idiomatische Loesung?</p>
</blockquote>
<p>extern.</p>
</blockquote>
<p>Beispiel?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989102</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 02 Dec 2010 14:50:46 GMT</pubDate></item><item><title><![CDATA[Reply to Linkproblem: Mehrfach definierte Template-Spezialisierung on Thu, 02 Dec 2010 16:41:25 GMT]]></title><description><![CDATA[<p>Minimalbeispiel:</p>
<p>header.h:</p>
<pre><code class="language-cpp">#ifndef FOO_H
#define FOO_H

template&lt;typename T&gt;
class Foo
{
	public:
		bool something();
};

template&lt;&gt;
bool Foo&lt;int&gt;::something() {
	return false;
}

template&lt;typename T&gt;
bool Foo&lt;T&gt;::something() {
	return false;
}

#endif
</code></pre>
<p>a.cpp:</p>
<pre><code class="language-cpp">#include &quot;header.h&quot;
#include &lt;iostream&gt;
using namespace std;

void main_a()
{
	Foo&lt;int&gt; f;
	cout &lt;&lt; f.something() &lt;&lt; endl;
}
</code></pre>
<p>b.cpp:</p>
<pre><code class="language-cpp">#include &quot;header.h&quot;
#include &lt;iostream&gt;
using namespace std;

void main_b()
{
	Foo&lt;int&gt; f;
	cout &lt;&lt; f.something() &lt;&lt; endl;
}
</code></pre>
<pre><code>tom@blulap:workspace$ g++ -c a.cpp -o a.o
tom@blulap:workspace$ g++ -c b.cpp -o b.o
tom@blulap:workspace$ g++ a.o b.o -o test
b.o: In function `Foo&lt;int&gt;::something()':
b.cpp:(.text+0x0): multiple definition of `Foo&lt;int&gt;::something()'
a.o:a.cpp:(.text+0x0): first defined here
/usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: ld returned 1 exit status
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1989190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989190</guid><dc:creator><![CDATA[Blue-Tiger]]></dc:creator><pubDate>Thu, 02 Dec 2010 16:41:25 GMT</pubDate></item><item><title><![CDATA[Reply to Linkproblem: Mehrfach definierte Template-Spezialisierung on Thu, 02 Dec 2010 16:47:53 GMT]]></title><description><![CDATA[<p>Ich habe das so wie du noch nie gemacht, aber ginge es eventuell so:</p>
<pre><code class="language-cpp">#ifndef FOO_H
#define FOO_H

template&lt;typename T&gt;
class Foo
{
    public:
        bool something()
        {
            return false;
        }
};

template&lt;typename T&gt;
class Foo&lt;int&gt;
{
    public:
        bool something()
        {
            return false;
        }
};

#endif
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1989195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989195</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Thu, 02 Dec 2010 16:47:53 GMT</pubDate></item><item><title><![CDATA[Reply to Linkproblem: Mehrfach definierte Template-Spezialisierung on Thu, 02 Dec 2010 18:43:07 GMT]]></title><description><![CDATA[<p>Camper hatte recht, &quot;inline&quot; hilft <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/1989246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989246</guid><dc:creator><![CDATA[Blue-Tiger]]></dc:creator><pubDate>Thu, 02 Dec 2010 18:43:07 GMT</pubDate></item><item><title><![CDATA[Reply to Linkproblem: Mehrfach definierte Template-Spezialisierung on Thu, 02 Dec 2010 23:23:13 GMT]]></title><description><![CDATA[<p>Die Spezialisierung eines Funktionstemplates ist eine Funktion. Die üblichen ODR-Regeln für Funktionen sind folglich anzuwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989393</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 02 Dec 2010 23:23:13 GMT</pubDate></item></channel></rss>