<?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[Funktionszeiger mit boost]]></title><description><![CDATA[<p>Hallo</p>
<p>Jeden Tag ein neues Probelm. So fühlt sich das derzeit bei mir an. Heute also folgendes: Ich versuche mich gerade mal wieder an Funktionspointer und dachte, da gibt es doch was bei boost. Also so sieht es aus:</p>
<p>in Headerdatei als Memberavriable einer Klasse:</p>
<pre><code class="language-cpp">boost::function&lt;unsigned int(std::vector&lt;Cube&gt;&amp; Cubes)&gt; Func[13];
</code></pre>
<p>in cpp-Datei:</p>
<pre><code class="language-cpp">Func[0] = &amp;Berechnungen::Einsen;
</code></pre>
<p>Nun bekomme ich immer folgende Fehlermeldung:</p>
<blockquote>
<p>error LNK2019: unresolved external symbol &quot;unsigned int __cdecl Berechnungen::Einsen(class std::vector&lt;class Cube,class std::allocator&lt;class Cube&gt; &gt; &amp;)&quot; (?Einsen@Berechnungen@@YAIAAV?<span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>v</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>o</mi><mi>r</mi><mi mathvariant="normal">@</mi><mi>V</mi><mi>C</mi><mi>u</mi><mi>b</mi><mi>e</mi><mi mathvariant="normal">@</mi><mi mathvariant="normal">@</mi><mi>V</mi><mo>?</mo></mrow><annotation encoding="application/x-tex">vector@VCube@@V?</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.69444em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.03588em;">v</span><span class="mord mathit">e</span><span class="mord mathit">c</span><span class="mord mathit">t</span><span class="mord mathit">o</span><span class="mord mathit" style="margin-right:0.02778em;">r</span><span class="mord mathrm">@</span><span class="mord mathit" style="margin-right:0.22222em;">V</span><span class="mord mathit" style="margin-right:0.07153em;">C</span><span class="mord mathit">u</span><span class="mord mathit">b</span><span class="mord mathit">e</span><span class="mord mathrm">@</span><span class="mord mathrm">@</span><span class="mord mathit" style="margin-right:0.22222em;">V</span><span class="mclose">?</span></span></span></span>allocator@VCube@@@std@@@std@@@Z) referenced in function &quot;protected: void __thiscall Game::InitFunctionPoiter(void)&quot; (?InitFunctionPoiter@Game@@IAEXXZ) Game.obj</p>
</blockquote>
<p>Das passiert ja eigentlich immer, wenn man vergisst eine lib einzubinden. Bloss welche ist das in diesem Fall und ist das wirklich der Fehler?</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/149694/funktionszeiger-mit-boost</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 08:33:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/149694.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Jun 2006 12:56:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionszeiger mit boost on Thu, 08 Jun 2006 12:56:39 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Jeden Tag ein neues Probelm. So fühlt sich das derzeit bei mir an. Heute also folgendes: Ich versuche mich gerade mal wieder an Funktionspointer und dachte, da gibt es doch was bei boost. Also so sieht es aus:</p>
<p>in Headerdatei als Memberavriable einer Klasse:</p>
<pre><code class="language-cpp">boost::function&lt;unsigned int(std::vector&lt;Cube&gt;&amp; Cubes)&gt; Func[13];
</code></pre>
<p>in cpp-Datei:</p>
<pre><code class="language-cpp">Func[0] = &amp;Berechnungen::Einsen;
</code></pre>
<p>Nun bekomme ich immer folgende Fehlermeldung:</p>
<blockquote>
<p>error LNK2019: unresolved external symbol &quot;unsigned int __cdecl Berechnungen::Einsen(class std::vector&lt;class Cube,class std::allocator&lt;class Cube&gt; &gt; &amp;)&quot; (?Einsen@Berechnungen@@YAIAAV?<span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>v</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>o</mi><mi>r</mi><mi mathvariant="normal">@</mi><mi>V</mi><mi>C</mi><mi>u</mi><mi>b</mi><mi>e</mi><mi mathvariant="normal">@</mi><mi mathvariant="normal">@</mi><mi>V</mi><mo>?</mo></mrow><annotation encoding="application/x-tex">vector@VCube@@V?</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.69444em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.03588em;">v</span><span class="mord mathit">e</span><span class="mord mathit">c</span><span class="mord mathit">t</span><span class="mord mathit">o</span><span class="mord mathit" style="margin-right:0.02778em;">r</span><span class="mord mathrm">@</span><span class="mord mathit" style="margin-right:0.22222em;">V</span><span class="mord mathit" style="margin-right:0.07153em;">C</span><span class="mord mathit">u</span><span class="mord mathit">b</span><span class="mord mathit">e</span><span class="mord mathrm">@</span><span class="mord mathrm">@</span><span class="mord mathit" style="margin-right:0.22222em;">V</span><span class="mclose">?</span></span></span></span>allocator@VCube@@@std@@@std@@@Z) referenced in function &quot;protected: void __thiscall Game::InitFunctionPoiter(void)&quot; (?InitFunctionPoiter@Game@@IAEXXZ) Game.obj</p>
</blockquote>
<p>Das passiert ja eigentlich immer, wenn man vergisst eine lib einzubinden. Bloss welche ist das in diesem Fall und ist das wirklich der Fehler?</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073854</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 08 Jun 2006 12:56:39 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger mit boost on Thu, 08 Jun 2006 13:00:07 GMT]]></title><description><![CDATA[<p>Am einfachsten machst du es dir, indem du den angegebenen Namen auseinandernimmst - der Linker such die Methode &quot;Einsen(vector&lt;Cube&gt;&amp;)&quot; der Klasse/Namensraum &quot;Berechnungen&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073862</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 08 Jun 2006 13:00:07 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger mit boost on Thu, 08 Jun 2006 13:01:10 GMT]]></title><description><![CDATA[<p>Kenne boost gar nicht, aber was cpp angeht müßte die template-para liste so aussehen.</p>
<pre><code class="language-cpp">boost::function&lt;unsigned int,std::vector&lt;Cube&gt;&amp; Cubes&gt; Func[13];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1073863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073863</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Thu, 08 Jun 2006 13:01:10 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger mit boost on Thu, 08 Jun 2006 14:13:22 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich habe jetzt mal was probiert und so klappt es :</p>
<pre><code class="language-cpp">using namespace Berechnungen;

unsigned int Berechnungen::Einsen(std::vector&lt;Cube&gt;&amp; Cubes)
{
	unsigned int Result = 0;
	for(int i=0; i&lt;5; ++i)
		if(Cubes[i].Value() == 1)
			Result += 1;
	return Result;
}
</code></pre>
<p>so aber nicht:</p>
<pre><code class="language-cpp">using namespace Berechnungen;

unsigned int Einsen(std::vector&lt;Cube&gt;&amp; Cubes)
{
	unsigned int Result = 0;
	for(int i=0; i&lt;5; ++i)
		if(Cubes[i].Value() == 1)
			Result += 1;
	return Result;
}
</code></pre>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073866</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 08 Jun 2006 14:13:22 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger mit boost on Thu, 08 Jun 2006 13:15:29 GMT]]></title><description><![CDATA[<p>Ähm..ich bin gerade sprachlos..</p>
<p>..also dass Berechnung::Einsen und Einsen nicht das selbe ist, ist ja wohl klar.<br />
Du musst Einsen schon im namespace Berechnung definieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073874</guid><dc:creator><![CDATA[dragon90#]]></dc:creator><pubDate>Thu, 08 Jun 2006 13:15:29 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger mit boost on Thu, 08 Jun 2006 14:16:07 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>dragon90# schrieb:</p>
<blockquote>
<p>Ähm..ich bin gerade sprachlos..</p>
<p>..also dass Berechnung::Einsen und Einsen nicht das selbe ist, ist ja wohl klar.<br />
Du musst Einsen schon im namespace Berechnung definieren.</p>
</blockquote>
<p>Ich habe meinen letzten Beitrag noch einmal editiert, weil ich die Codetags falsch gesetzt habe. Mir ist schon klar, dass Berechnen::Einsen und Einsen nicht dasselbe sind, aber ich schreibe ja explizit, dass ich den namespace Berechnen benutze und dachte, dass es dann reicht nur Einsen zu schreiben und er automatisch darauf kommt, dass ich die Einsen im namespace Berechenen meine. War das verständlich?</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073925</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 08 Jun 2006 14:16:07 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger mit boost on Thu, 08 Jun 2006 14:19:18 GMT]]></title><description><![CDATA[<p>Ähm, und wenn Du drei Namespaces benutzt? Soll dann &quot;Einsen&quot; in allen drein auftauchen?!</p>
<p>Nein, Du musst die Funktion schon <strong>innerhalb</strong> des Namespaces deklarieren <strong>und</strong> definieren. Du kannst sie nicht innerhalb eines Namespace deklarieren, diesen dann benutzen und vom Compiler erwarten dass er Dir den Rest einsortiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073929</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 08 Jun 2006 14:19:18 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger mit boost on Thu, 08 Jun 2006 19:20:01 GMT]]></title><description><![CDATA[<p>Du hast zwei Möglichkeiten:</p>
<pre><code class="language-cpp">//Möglichkeit 1
void Berechnungen::Einsen()
{
}
</code></pre>
<pre><code class="language-cpp">//Möglichkeit 2
namespace Berechnungen
{
  void Einsen()
  {
  }
}
</code></pre>
<p>anders geht es nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1074124</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074124</guid><dc:creator><![CDATA[dragon90#]]></dc:creator><pubDate>Thu, 08 Jun 2006 19:20:01 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger mit boost on Fri, 09 Jun 2006 07:27:32 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>In Ordnung dann habe ich wieder was gelernt.</p>
<p>Vielen Dank.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1074323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074323</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 09 Jun 2006 07:27:32 GMT</pubDate></item></channel></rss>