<?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[namespace problem]]></title><description><![CDATA[<p>wie schaffe ich es eine universelle namespace auf verschieden Klassen zu übertragen?<br />
Ich bekomme immer einen Linker Fehler wenn ich</p>
<pre><code class="language-cpp">#include &quot;namspc.h&quot;
</code></pre>
<p>auf verschiedene Klassen include <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Es kommt ein &quot;already defined in&quot; Fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/293503/namespace-problem</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 07:24:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/293503.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 04 Oct 2011 14:40:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 14:40:40 GMT]]></title><description><![CDATA[<p>wie schaffe ich es eine universelle namespace auf verschieden Klassen zu übertragen?<br />
Ich bekomme immer einen Linker Fehler wenn ich</p>
<pre><code class="language-cpp">#include &quot;namspc.h&quot;
</code></pre>
<p>auf verschiedene Klassen include <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Es kommt ein &quot;already defined in&quot; Fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127113</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Tue, 04 Oct 2011 14:40:40 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 14:42:48 GMT]]></title><description><![CDATA[<p>Beobachter01 schrieb:</p>
<blockquote>
<p>wie schaffe ich es eine universelle namespace auf verschieden Klassen zu übertragen?</p>
</blockquote>
<p>Übertragen? Sowas gibts nicht. Du kannst höchtens Klassen in einem namespace definieren.</p>
<blockquote>
<p>Ich bekomme immer einen Linker Fehler wenn ich</p>
<pre><code class="language-cpp">#include &quot;namspc.h&quot;
</code></pre>
<p>auf verschiedene Klassen include <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Es kommt ein &quot;already defined in&quot; Fehler.</p>
</blockquote>
<p>Dann liefere uns doch mal den kompletten Linkerfehler und ein wenig Code, um dein Problem zu verdeutlichen. Am Besten minimalen Code, der genau diesen Linkerfehler erzeugt. Wir können mit deinen bisherigen Angaben nur ins Blaue raten, und das führt zu nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127115</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 04 Oct 2011 14:42:48 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 14:50:10 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">error LNK2005: &quot;class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; __cdecl dataPool::getValue(void)&quot; (?getValue@dataPool@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) already defined in module1.obj
Target.obj : error LNK2005: &quot;class std::list&lt;class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt;,class std::allocator&lt;class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &gt; &gt;::_Iterator&lt;1&gt; dataPool::listenWerteIt&quot; (?listenWerteIt@dataPool@@3V?$_Iterator@$00@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@A) already defined in module1.obj
Target.obj : error LNK2005: &quot;class std::list&lt;class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt;,class std::allocator&lt;class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &gt; &gt; dataPool::listenWerte&quot; (?listenWerte@dataPool@@3V?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@A) already defined in module1.obj
</code></pre>
<p>Das ist der Fehler!</p>
<p>Ich wollte diese namespace von allen Klassen nutzbar machen. Aber wenn ich die Header-Datei mehr als einmal irgendwo include bekomme ich diesen Fehler!</p>
<p>Wie kann ich sonst so einen &quot;Universellen&quot; Speicher zu Verfügung stellen? Eine statische Klasse vielleicht? ich weiss es einfach nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127120</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127120</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Tue, 04 Oct 2011 14:50:10 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 14:56:35 GMT]]></title><description><![CDATA[<p>Da du immernoch keinen Code geliefert hast, muss ich immernoch raten. Ich nehme mal an, dass dataPool der namespace ist, um den es geht. Ich rate ferner mal, dass du in einem Header die Funktionen definiert hast, über die sich der Compiler hier beschwert. Ich rate außerdem, dass du sie nicht inline definiert hast und den header in mehreren Übersetzungseinheiten einbindest, nämlich module1.cpp und Target.cpp. Dadurch verletzt du die ODR (One Definition Rule).</p>
<p>Lösung 1: in den header sollte nur die Deklaration der Funktionen, nicht die Definition. Die Definition muss dagegen in eine eigene .cpp<br />
Lösung 2: Wenn es auf keinen Fall eine .cpp geben soll (z.B. weil du ein Header-only Framework schreibst), definiere die Funktionen als inline. Ich tippe mal, dass die Bedingung für Lösung 2 nicht zutrifft.</p>
<p>btw: Das hat mit dem namespace nichts zu tun. Wäre auch passiert, wenn du die Funktionen ohne umschließenden Namespace im header definiert hättet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127122</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127122</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 04 Oct 2011 14:56:35 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 15:07:41 GMT]]></title><description><![CDATA[<p>Sorry, ich hatte den Code vergessen hinzufügen</p>
<pre><code class="language-cpp">//ist di namesp.h
std::list&lt;std::string&gt; liste
template&lt;typename T&gt;
void setValue(double t, int i, T wert);

//namesp.cpp
template&lt;typename T&gt;
void setValue(double t, int i, T wert)
{
std::stringstream ss;
ss&lt;&lt;t&lt;&lt;&quot;\n&quot;&lt;&lt;i&lt;&lt;&quot;\n&quot;&lt;&lt;wert&lt;&lt;&quot;\n&quot;;
liste.push_front(ss.str());
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2127134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127134</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Tue, 04 Oct 2011 15:07:41 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 15:09:57 GMT]]></title><description><![CDATA[<p>Das ist nicht der Code, der den Fehler erzeugt hat. Du zeigst hier setValue-Templates, die Fehler beziehen sich auf getValue, litenWerteIt, listenWerte.</p>
<p>Bei Templates ists übrigens genau andersrum, die musst du komplett im Header definieren, das geht auch ohne inline, da bei Templates die ODR nicht greift.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127137</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 04 Oct 2011 15:09:57 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 15:17:19 GMT]]></title><description><![CDATA[<p>Sorry ich dachte das die keine Rolle spielt. Also nochmal</p>
<pre><code class="language-cpp">//ist di namesp.h
namespace bla{
std::list&lt;std::string&gt; liste
std::list&lt;std::string&gt;::iterator listIt
template&lt;typename T&gt;
void setValue(double t, int i, T wert);
std::string getValue();
}
//namesp.cpp
template&lt;typename T&gt;
void bla::setValue(double t, int i, T wert)
{
std::stringstream ss;
ss&lt;&lt;t&lt;&lt;&quot;\n&quot;&lt;&lt;i&lt;&lt;&quot;\n&quot;&lt;&lt;wert&lt;&lt;&quot;\n&quot;;
liste.push_front(ss.str());
}

std::string bla::dataPool::getValue(){
	listIt = listenWerte.begin();
	std::string wert = *listIt;
	return wert;
}
</code></pre>
<p>listenWerte entspricht liste, listenWerteIt entspricht listIt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127145</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Tue, 04 Oct 2011 15:17:19 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 15:22:43 GMT]]></title><description><![CDATA[<p>- getValue hat genau das Problem, was ich oben beschrieben habe.<br />
- liste und listIt sind mit Sicherheit nicht so definiert, sonst würde es nichtmal durch den Compiler gehen.<br />
- listenWerteIt, listenWerte sind vermutlich ähnlich wie getValue normale Funktionen udn haben auch das selbe Problem.</p>
<p>Warum zeigst du nicht per Copy&amp;Paste den wirklichen Code, den du hast? (Natürlich aufs Wesentliche reduziert)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127149</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 04 Oct 2011 15:22:43 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 15:29:32 GMT]]></title><description><![CDATA[<p>Pumuckl hat recht. Da fehlen zwei Semikoli im Header (richtige Plural ?).<br />
Und Einrücken wär nicht schlecht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127151</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 04 Oct 2011 15:29:32 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 15:29:36 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">//dataPool.h
namespace dataPool{
std::list&lt;std::string&gt; listenWerte;
std::list&lt;std::string&gt;::iterator listenWerteIt;
template&lt;typename T&gt;
void setValue(double t, int i, T wert);
std::string getValue();
}
//dataPool.cpp
template&lt;typename T&gt;
void dataPool::setValue(double t, int i, T wert)
{
std::stringstream ss;
ss&lt;&lt;t&lt;&lt;&quot;\n&quot;&lt;&lt;i&lt;&lt;&quot;\n&quot;&lt;&lt;wert&lt;&lt;&quot;\n&quot;;
listenWerte.push_front(ss.str());
}

std::string dataPool::getValue(){
    listenWerteIt = listenWerte.begin();
    std::string wert = *listenWerteIt;
    return wert;
}
</code></pre>
<p>Das ist der vollständige Code mehr habe ich auch nicht. Ich habe die Sachen genauso wie oben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127154</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Tue, 04 Oct 2011 15:29:36 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 15:32:39 GMT]]></title><description><![CDATA[<p>Ich habe lediglich in module1</p>
<pre><code class="language-cpp">#include &quot;dataPool.h&quot;
</code></pre>
<p>und in Target auch</p>
<pre><code class="language-cpp">#include &quot;dataPool.h&quot;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2127157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127157</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Tue, 04 Oct 2011 15:32:39 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 15:39:32 GMT]]></title><description><![CDATA[<p>Und wie stehen die Beide in Verbindung ?<br />
Du musst schon konkreter werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127159</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 04 Oct 2011 15:39:32 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 15:42:19 GMT]]></title><description><![CDATA[<p>Die beiden haben im Prinzip keine Beziehung zueinander. Wie ich schon erwähnt habe, soll mir die namespace als eine Art Zwischenspeicher für alle Objekte dienen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127160</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Tue, 04 Oct 2011 15:42:19 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 15:45:41 GMT]]></title><description><![CDATA[<p>Beobachter01 schrieb:</p>
<blockquote>
<p>Das ist der vollständige Code mehr habe ich auch nicht. Ich habe die Sachen genauso wie oben.</p>
</blockquote>
<p>Warum nicht gleich.</p>
<p>Also:</p>
<ol>
<li>getValue() hatte das beschriebene Problem, das dürfte jetzt nichtmehr auftreten.</li>
<li>listenWerte und litenWerteIt haben das selbe Problem, nur dass es eben Variablen sind. Die gehören so oder so nicht im header definiert (höchstens deklariert), am Besten garkeine globalen/namespace scope variablen.</li>
<li>setValue hat das Problem, dass die Template-Definition im Header stehen muss.</li>
</ol>
<p>alles zusammen sieht mir danach aus, als ob du das Ganze in eine Klasse packen und ein Singleton oder was ähnliches draus machen solltest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127162</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 04 Oct 2011 15:45:41 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 15:47:37 GMT]]></title><description><![CDATA[<p>Beobachter01 schrieb:</p>
<blockquote>
<p>Die beiden haben im Prinzip keine Beziehung zueinander. Wie ich schon erwähnt habe, soll mir die namespace als eine Art Zwischenspeicher für alle Objekte dienen.</p>
</blockquote>
<ol>
<li><strong>der</strong> namespace (Namensraum)</li>
<li>Ein namespace ist kein Objekt, sondern nur ein Mittel zur Code-Organisation. Du kannst in einem namespace nichts speichern.</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/2127167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127167</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 04 Oct 2011 15:47:37 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 15:59:55 GMT]]></title><description><![CDATA[<p>Soll ich alles in eine Klasse packen und die einzelnen Methoden bzw. Liste auch als static definieren?</p>
<p>Das Ziel soll sein, dass alle Objekte (andere Klassen) in die Liste etwas einfügen und auch entfernen können sollen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127171</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127171</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Tue, 04 Oct 2011 15:59:55 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 16:02:22 GMT]]></title><description><![CDATA[<p>Beobachter01 schrieb:</p>
<blockquote>
<p>Soll ich alles in eine Klasse packen und die einzelnen Methoden bzw. Liste auch als static definieren?</p>
</blockquote>
<p>Wäre eine Möglichkeit. Den Iterator brauchst du sowieso nicht dauerhaft halten, der reicht funktionslokal völlig aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127174</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 04 Oct 2011 16:02:22 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 16:13:15 GMT]]></title><description><![CDATA[<p>Stimmt ich könnte den Iterator immer wieder lokal anlegen. Danke dir!<br />
Falls noch Fragen auftauchen sollte komme ich nochmal vorbei <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/2127181</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127181</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Tue, 04 Oct 2011 16:13:15 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 16:35:47 GMT]]></title><description><![CDATA[<p>Hi nochmals,</p>
<p>ich bekomme jetzt so einen Fehler:</p>
<pre><code>error c2011: 'dataPool' : 'class' type redefinition -&gt; see declaration of dataPool
</code></pre>
<p>Ich könnte .....! Namespace wurde als eine statische Klasse mit statischen variabeln und Methoden implementiert. Ich habe versucht die Header-Datei wieder in 2 verschiedenen Klassen eingebunden. Wie bekomme ich das hin, dass nur einmal die Klasse definiert wird und alle Zugriff darauf haben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127197</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Tue, 04 Oct 2011 16:35:47 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 16:46:57 GMT]]></title><description><![CDATA[<p>Das klingt so, als hättest du keine Include Guards (mal nach googlen, wenn dir das nichts sagt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127209</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 04 Oct 2011 16:46:57 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 16:51:54 GMT]]></title><description><![CDATA[<p>falls ich IncludeGuards hinzufüge bekomme ich einen Linker-fehler der mir sagt, dass er auf die statische methode von dataPool nicht zugreifen kann. Wie kann ich dies beheben. Ich wollte eine statische Klasse bereitstellen auf der alle anderen zugreifen können. Werte löschen, ändern hinzufügen usw...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127215</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Tue, 04 Oct 2011 16:51:54 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 17:02:28 GMT]]></title><description><![CDATA[<p>Beobachter01 schrieb:</p>
<blockquote>
<p>falls ich IncludeGuards hinzufüge bekomme ich einen Linker-fehler der mir sagt, dass er auf die statische methode von dataPool nicht zugreifen kann. Wie kann ich dies beheben. Ich wollte eine statische Klasse bereitstellen auf der alle anderen zugreifen können. Werte löschen, ändern hinzufügen usw...</p>
</blockquote>
<p>Sag mal den genauen Fehler an. Und (hoffentlich) dumme Frage: Die Methode existiert auch irgendwo, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127225</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127225</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 04 Oct 2011 17:02:28 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 17:11:26 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> klar existiert die Methode</p>
<pre><code class="language-cpp">module1.obj : error LNK2019: unresolved external symbol &quot;public: static void __cdecl dataPool::setValue&lt;double&gt;(double,int,double)&quot; (??$setValue@N@dataPool@@SAXNHN@Z) referenced in function &quot;public: void __thiscall module1::run(void)&quot; (?run@module1@@QAEXXZ)
</code></pre>
<p>Das ist dazugehörige Klasse:</p>
<pre><code class="language-cpp">//dataPool.h
class dataPool{
private:
    static std::list&lt;std::string&gt; listenWerte;
public:
    template&lt;typename T&gt;
    static void setValue(double t, int i, T wert);
    static std::string getValue();
}
//dataPool.cpp
std::list&lt;std::string&gt; dataPool::listenWerte

template&lt;typename T&gt;
void dataPool::setValue(double t, int i, T wert)
{
    std::stringstream ss;
    ss&lt;&lt;t&lt;&lt;&quot;\n&quot;&lt;&lt;i&lt;&lt;&quot;\n&quot;&lt;&lt;wert&lt;&lt;&quot;\n&quot;;
    listenWerte.push_front(ss.str());
}

std::string dataPool::getValue(){
    std::list&lt;std::string&gt;::iterator listenWerteIt;
    listenWerteIt = listenWerte.begin();
    std::string wert = *listenWerteIt;
    return wert;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2127230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127230</guid><dc:creator><![CDATA[Beobachter01]]></dc:creator><pubDate>Tue, 04 Oct 2011 17:11:26 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 17:26:19 GMT]]></title><description><![CDATA[<p>Die Methode existiert auf jeden Fall nicht dort, wo sie benötigt wird. Aber das Problem mit Templates und getrennten Übersetzungseinheiten wurde hier auch schon mehrfach erwähnt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127239</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127239</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 04 Oct 2011 17:26:19 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Tue, 04 Oct 2011 17:32:23 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>Semikoli im Header (richtige Plural ?).</p>
</blockquote>
<p>Ich glaube es heißt &quot;Semikola&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127241</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 04 Oct 2011 17:32:23 GMT</pubDate></item><item><title><![CDATA[Reply to namespace problem on Wed, 05 Oct 2011 05:42:27 GMT]]></title><description><![CDATA[<p>Lieber Beobachter01. Langsam aber sicher kommt echt Spannung auf meine Hutschnur, soll heißen, kurz vorm reißen. Du möchtest, dass wir dir bei deinen Problemen helfen, gut. Dazu ist das Forum da. Aber wenn du nicht möchtest, dass dich die Leute irgendwann als Troll abstempeln und aufhören, dir zu helfen, dann <strong>gib dir bitte ein bisschen Mühe</strong>. Zum Einen habe ich dir mehrfach geschrieben, dass du Templates komplett im Header definieren musst. Du warst scheinbar zu faul, das umzusetzen oder hast nicht aufmerksam gelesen, jetzt hast du den Salat. Zum Anderen hatten wir schon beim ersten Problem das Thema mit der vollständigen Fehlermeldung und dem passenden Code. Bei diesem neuen Problem musste dir das wieder mühsam Stück für Stück aus der Nase gezogen werden. Warum? Lies dir bitte den Link in meiner Signatur aufmerksam durch, und dann viel Erfolg bei neuen Fragen, die hoffentlich gleich beantwortbar sind und nicht stundenlanges hin und her benötigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127403</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 05 Oct 2011 05:42:27 GMT</pubDate></item></channel></rss>