<?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[std::tr1::function und Funktor]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>ich habe gewisse Probleme damit, einer <code>std::tr1::function</code> einen Funktor zuzuweisen... Vielleicht könnt ihr mir ja helfen...</p>
<pre><code class="language-cpp">#include &lt;functional&gt;
#include &lt;iostream&gt;
using namespace std;

typedef std::tr1::function&lt; int (int, int) &gt; Signature;

// ... MyFunctor
// ... MyFunction

int main() {
    Signature s1(MyFunctor()), // Fehler!
              s2(MyFunction);

    cout &lt;&lt; s1(1, 2) &lt;&lt; endl;
    cout &lt;&lt; s2(1, 2) &lt;&lt; endl;
}
</code></pre>
<p>Sieht jemand was ich falsch mache?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/266091/std-tr1-function-und-funktor</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 15:44:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/266091.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 03 May 2010 20:52:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::tr1::function und Funktor on Mon, 03 May 2010 20:53:13 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>ich habe gewisse Probleme damit, einer <code>std::tr1::function</code> einen Funktor zuzuweisen... Vielleicht könnt ihr mir ja helfen...</p>
<pre><code class="language-cpp">#include &lt;functional&gt;
#include &lt;iostream&gt;
using namespace std;

typedef std::tr1::function&lt; int (int, int) &gt; Signature;

// ... MyFunctor
// ... MyFunction

int main() {
    Signature s1(MyFunctor()), // Fehler!
              s2(MyFunction);

    cout &lt;&lt; s1(1, 2) &lt;&lt; endl;
    cout &lt;&lt; s2(1, 2) &lt;&lt; endl;
}
</code></pre>
<p>Sieht jemand was ich falsch mache?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1891974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891974</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 03 May 2010 20:53:13 GMT</pubDate></item><item><title><![CDATA[Reply to std::tr1::function und Funktor on Mon, 03 May 2010 20:57:19 GMT]]></title><description><![CDATA[<p>Unheimlich praktisch wäre es, die Definition von MyFunctor zu wissen. Sonst müsste ich die Glaskugel ausgraben und das ist ein Billigteil...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1891976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891976</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Mon, 03 May 2010 20:57:19 GMT</pubDate></item><item><title><![CDATA[Reply to std::tr1::function und Funktor on Mon, 03 May 2010 21:00:29 GMT]]></title><description><![CDATA[<ol>
<li>Was meinst du mit &quot;Probleme&quot;?</li>
<li>Ohne die Deklaration von MyFunctor wird man dir wohl nur schwer helfen können.</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/1891978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891978</guid><dc:creator><![CDATA[rean]]></dc:creator><pubDate>Mon, 03 May 2010 21:00:29 GMT</pubDate></item><item><title><![CDATA[Reply to std::tr1::function und Funktor on Mon, 03 May 2010 21:00:56 GMT]]></title><description><![CDATA[<p>Eigentlich nix besonderes...</p>
<pre><code class="language-cpp">class MyFunctor : public std::binary_function&lt; int, int, int &gt; {
public:
    int operator () (int i, int j) const {
        return i + j;
    }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1891979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891979</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 03 May 2010 21:00:56 GMT</pubDate></item><item><title><![CDATA[Reply to std::tr1::function und Funktor on Mon, 03 May 2010 21:02:31 GMT]]></title><description><![CDATA[<p>Ich vermute, dass</p>
<pre><code class="language-cpp">Signature s1(MyFunctor())
</code></pre>
<p>für den Compiler wie eine Funktionsdeklaration aussieht. Versuch mal</p>
<pre><code class="language-cpp">MyFunctor f;
Signature s1(f);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1891981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891981</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Mon, 03 May 2010 21:02:31 GMT</pubDate></item><item><title><![CDATA[Reply to std::tr1::function und Funktor on Mon, 03 May 2010 21:12:13 GMT]]></title><description><![CDATA[<p>seldon schrieb:</p>
<blockquote>
<p>Ich vermute, dass</p>
<pre><code class="language-cpp">Signature s1(MyFunctor())
</code></pre>
<p>für den Compiler wie eine Funktionsdeklaration aussieht. Versuch mal</p>
<pre><code class="language-cpp">MyFunctor f;
Signature s1(f);
</code></pre>
</blockquote>
<p>Oder das:</p>
<pre><code class="language-cpp">Signature s1 = MyFunctor();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1891984</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891984</guid><dc:creator><![CDATA[rean]]></dc:creator><pubDate>Mon, 03 May 2010 21:12:13 GMT</pubDate></item><item><title><![CDATA[Reply to std::tr1::function und Funktor on Mon, 03 May 2010 22:18:11 GMT]]></title><description><![CDATA[<p>Hmm...<br />
so funktionierts auch:</p>
<pre><code class="language-cpp">Signature s = Signature(MyFunctor())
</code></pre>
<p>Warum geht das? aber nicht:</p>
<pre><code class="language-cpp">Signature s(MyFunctor())
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1892003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892003</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 03 May 2010 22:18:11 GMT</pubDate></item><item><title><![CDATA[Reply to std::tr1::function und Funktor on Tue, 04 May 2010 04:44:09 GMT]]></title><description><![CDATA[<p>daersc schrieb:</p>
<blockquote>
<pre><code class="language-cpp">Signature s(MyFunctor())
</code></pre>
</blockquote>
<p>Vergleiche:</p>
<pre><code class="language-cpp">MyFunctor f;
Signature s(MyFunctor()); // &lt;--

s(f); // &lt;-- Aufruf der _Funktion_ s
</code></pre>
<p>Alles, was wie eine Funktionsdeklaration interpretiert werden könnte, ist auch eine Funktionsdeklaration.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892032</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 04 May 2010 04:44:09 GMT</pubDate></item><item><title><![CDATA[Reply to std::tr1::function und Funktor on Tue, 04 May 2010 06:32:08 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Signature s(MyFunctor());
</code></pre>
<p>Das deklariert eine Funktion f, die ein Signatureobjekt zurückgibt und als Argument einen Zeiger auf eine parameterlose Funktion, die ein MyFunctor zurückgibt, erwartet. Abhilfe können z.B. zusätzliche Klammern bieten:</p>
<pre><code class="language-cpp">Signature s((MyFunctor()));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1892043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892043</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 04 May 2010 06:32:08 GMT</pubDate></item></channel></rss>