<?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[c++0x nested binds?]]></title><description><![CDATA[<p>Hallo</p>
<p>sind nested binds in c++0x möglich?</p>
<pre><code class="language-cpp">#include &lt;utility&gt;
#include &lt;functional&gt;

void dub(int)
{
}

void dub2(std::function&lt;void()&gt;)
{
}

template&lt;class A&gt; void dub3(A a)
{
	std::bind(dub2,std::move(a))();
}

int main()
{
	dub3(std::bind(dub,0));
}
</code></pre>
<p>gcc 4.4 mag diesen Code nicht, Fehler ist:</p>
<blockquote>
<p>test.cpp: In function 'void dub3(A) [with A = std::_Bind&lt;void (<em>(int))(int)&gt;]':<br />
test.cpp:19: instantiated from here<br />
test.cpp:14: error: no match for call to '(std::_Bind&lt;void (</em>(std::_Bind&lt;void (*(int))(int)&gt;))(std::function&lt;void()&gt;)&gt;) ()'<br />
Drücken Sie eine beliebige Taste . . .</p>
</blockquote>
<p>Wenn ich das Argument in dub3 explizit nach std::function caste funzt alles wunderbar.</p>
<p><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>
]]></description><link>https://www.c-plusplus.net/forum/topic/241531/c-0x-nested-binds</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 09:47:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/241531.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 21 May 2009 23:33:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to c++0x nested binds? on Thu, 21 May 2009 23:33:47 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>sind nested binds in c++0x möglich?</p>
<pre><code class="language-cpp">#include &lt;utility&gt;
#include &lt;functional&gt;

void dub(int)
{
}

void dub2(std::function&lt;void()&gt;)
{
}

template&lt;class A&gt; void dub3(A a)
{
	std::bind(dub2,std::move(a))();
}

int main()
{
	dub3(std::bind(dub,0));
}
</code></pre>
<p>gcc 4.4 mag diesen Code nicht, Fehler ist:</p>
<blockquote>
<p>test.cpp: In function 'void dub3(A) [with A = std::_Bind&lt;void (<em>(int))(int)&gt;]':<br />
test.cpp:19: instantiated from here<br />
test.cpp:14: error: no match for call to '(std::_Bind&lt;void (</em>(std::_Bind&lt;void (*(int))(int)&gt;))(std::function&lt;void()&gt;)&gt;) ()'<br />
Drücken Sie eine beliebige Taste . . .</p>
</blockquote>
<p>Wenn ich das Argument in dub3 explizit nach std::function caste funzt alles wunderbar.</p>
<p><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>
]]></description><link>https://www.c-plusplus.net/forum/post/1713980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1713980</guid><dc:creator><![CDATA[dubba]]></dc:creator><pubDate>Thu, 21 May 2009 23:33:47 GMT</pubDate></item></channel></rss>