<?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[boost::bind and overloaded functions.]]></title><description><![CDATA[<p>Hi,</p>
<p>ich bin gerade dabei etwas zu programmieren.<br />
Dabei habe ich folgende Struktur:</p>
<p>main.cpp</p>
<pre><code>void A(int a, string *b) {
//foo
}

void A(int a, std::vector&lt;string*&gt; *b) {
//foo
}

int main() {
string st = &quot;hallo&quot;;
string *ptr_st = st;

int i = 12;
int *ptr_i = i;

boost::bind(A, ptr_i, ptr_st);

//...
}
</code></pre>
<p>Dabei bekomme ich einen &quot;invalid overload&quot; error.<br />
Soweit klar, dass bind nicht weiß, an welche Funktion er binden soll.</p>
<p>Unter: <a href="http://www.boost.org/doc/libs/1_55_0/libs/bind/bind.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/libs/bind/bind.html</a> (Binding an overloaded function) steht ja eigentlich auch die Lösung zu dem Problem:</p>
<pre><code>boost::bind( static_cast&lt; int (CLASS::*) ()&gt;( &amp;CLASS::FUNCTION ), _1 );
</code></pre>
<p>nur leider weiß ich nicht wohin ich casten soll, da meine beiden Funktionen ja nicht in einer Klasse gekapselt sind, sondern in der selben cpp Datei, wie auch die main.</p>
<p>Habt ihr 'nen Schimmer, wie ich aus der Sache heile rauskomme?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/324180/boost-bind-and-overloaded-functions</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 15:27:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/324180.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 05 Mar 2014 23:58:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to boost::bind and overloaded functions. on Thu, 06 Mar 2014 00:13:58 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich bin gerade dabei etwas zu programmieren.<br />
Dabei habe ich folgende Struktur:</p>
<p>main.cpp</p>
<pre><code>void A(int a, string *b) {
//foo
}

void A(int a, std::vector&lt;string*&gt; *b) {
//foo
}

int main() {
string st = &quot;hallo&quot;;
string *ptr_st = st;

int i = 12;
int *ptr_i = i;

boost::bind(A, ptr_i, ptr_st);

//...
}
</code></pre>
<p>Dabei bekomme ich einen &quot;invalid overload&quot; error.<br />
Soweit klar, dass bind nicht weiß, an welche Funktion er binden soll.</p>
<p>Unter: <a href="http://www.boost.org/doc/libs/1_55_0/libs/bind/bind.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/libs/bind/bind.html</a> (Binding an overloaded function) steht ja eigentlich auch die Lösung zu dem Problem:</p>
<pre><code>boost::bind( static_cast&lt; int (CLASS::*) ()&gt;( &amp;CLASS::FUNCTION ), _1 );
</code></pre>
<p>nur leider weiß ich nicht wohin ich casten soll, da meine beiden Funktionen ja nicht in einer Klasse gekapselt sind, sondern in der selben cpp Datei, wie auch die main.</p>
<p>Habt ihr 'nen Schimmer, wie ich aus der Sache heile rauskomme?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2387000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2387000</guid><dc:creator><![CDATA[Hansi22]]></dc:creator><pubDate>Thu, 06 Mar 2014 00:13:58 GMT</pubDate></item><item><title><![CDATA[Reply to boost::bind and overloaded functions. on Thu, 06 Mar 2014 05:09:41 GMT]]></title><description><![CDATA[<pre><code>boost::bind(static_cast &lt;void (*)(int, std::string*)&gt; (&amp;A), i, ptr_st);
</code></pre>
<p>Der code hat aber noch ein paar mehr Probleme als das.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2387010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2387010</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Thu, 06 Mar 2014 05:09:41 GMT</pubDate></item><item><title><![CDATA[Reply to boost::bind and overloaded functions. on Mon, 10 Mar 2014 21:46:34 GMT]]></title><description><![CDATA[<p>danke, funktioniert.<br />
Ich weiss um die anderen Probleme. <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/2388140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388140</guid><dc:creator><![CDATA[Hansi22]]></dc:creator><pubDate>Mon, 10 Mar 2014 21:46:34 GMT</pubDate></item><item><title><![CDATA[Reply to boost::bind and overloaded functions. on Wed, 12 Mar 2014 09:06:30 GMT]]></title><description><![CDATA[<p>Für den Fall, dass Du das noch nicht kennen solltest: Das ist eigentlich eine Situation, wo C++11 Lambdas <em>viel</em> praktischer sind:</p>
<pre><code class="language-cpp">[=]{A(i,ptr_st);}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2388398</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388398</guid><dc:creator><![CDATA[kkaw]]></dc:creator><pubDate>Wed, 12 Mar 2014 09:06:30 GMT</pubDate></item></channel></rss>