<?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[mem_fun]]></title><description><![CDATA[<pre><code class="language-cpp">typedef bool (* compare_type) (value_type const &amp;, value_type const &amp;);
compare_type compare;

partition(begin,end,bin2nd(mem_fun(bool(compare)()),end);
</code></pre>
<p>was mach ich da falsch? hat wer dazu eine idee<br />
mfg<br />
Valentin</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/129756/mem_fun</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 10:18:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/129756.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 Dec 2005 12:27:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to mem_fun on Fri, 16 Dec 2005 12:27:16 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">typedef bool (* compare_type) (value_type const &amp;, value_type const &amp;);
compare_type compare;

partition(begin,end,bin2nd(mem_fun(bool(compare)()),end);
</code></pre>
<p>was mach ich da falsch? hat wer dazu eine idee<br />
mfg<br />
Valentin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/943485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/943485</guid><dc:creator><![CDATA[Valentin]]></dc:creator><pubDate>Fri, 16 Dec 2005 12:27:16 GMT</pubDate></item><item><title><![CDATA[Reply to mem_fun on Fri, 16 Dec 2005 12:34:49 GMT]]></title><description><![CDATA[<p>Wenn mich nicht alles täuscht, erwartet mem_fun() einen Funktionszeiger, also benötigst du die Hälfte des angegebenen Parameters nicht wirklich:</p>
<pre><code class="language-cpp">partition(begin,end,bin2nd(mem_fun(compare),end));
</code></pre>
<p>wobei ich nicht sicher bin, ob 'end' den richtigen Typ hat, um hier verwendet zu werden (partition() erwartet einen Iterator (PseudoPointer), bind2nd() etwas, was zum Parametertyp der verwendeten Funktion konvertierbar ist (also ein value_type-Derivat)).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/943488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/943488</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 16 Dec 2005 12:34:49 GMT</pubDate></item><item><title><![CDATA[Reply to mem_fun on Fri, 16 Dec 2005 13:18:52 GMT]]></title><description><![CDATA[<p>begin,end sind iteratoren auf vector&lt;value_type&gt;</p>
<p>er mekert was wegen cannot deduce tempate argument.<br />
würde es da noch eine andere möglichkeit geben ? damit ich das compare da rein bekomme?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/943516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/943516</guid><dc:creator><![CDATA[Valentin]]></dc:creator><pubDate>Fri, 16 Dec 2005 13:18:52 GMT</pubDate></item><item><title><![CDATA[Reply to mem_fun on Fri, 16 Dec 2005 13:38:19 GMT]]></title><description><![CDATA[<p>Du benötigst vermutlich etwas anderes als zweiten Parameter für bind2nd() - end als vector::iterator lässt sich nicht in einen value_type umwandeln.</p>
<p>(*end würde zwar funktionieren, gäbe aber Laufzeitprobleme, *begin wäre eine Möglichkeit).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/943525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/943525</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 16 Dec 2005 13:38:19 GMT</pubDate></item><item><title><![CDATA[Reply to mem_fun on Fri, 16 Dec 2005 13:45:20 GMT]]></title><description><![CDATA[<p>wieder die vier errors</p>
<p>schreib ich hingegen</p>
<pre><code class="language-cpp">partition(begin,end,bind2nd(mem_fun(bool(compare)()),*begin));
</code></pre>
<p>mekert er das er</p>
<p>Error 2 error C2064: term does not evaluate to a function taking 0 arguments</p>
<p>komisch das teil.. ne idee wie ich dem partition sonst beibringen könnte mit einer zweistelligen predikaten funktion zu arbeiten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/943529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/943529</guid><dc:creator><![CDATA[Valentin]]></dc:creator><pubDate>Fri, 16 Dec 2005 13:45:20 GMT</pubDate></item><item><title><![CDATA[Reply to mem_fun on Fri, 16 Dec 2005 13:55:41 GMT]]></title><description><![CDATA[<p>mem_fun() erwartet einen Funktionspointer und liefert eine unary_function oder binaray_function zurück (je nach Parameterzahl der übergebenen Funktion). bind2nd erwartet eine binary_function und etwas, was zum zweiten Parameter transformiert werden kann, also benötigst du etwa so etwas:</p>
<pre><code class="language-cpp">value_type v=/* bestimme den passenden Wert */;
partition(begin,end,bind2nd(mem_fun(compare),v));
</code></pre>
<p>(wie schon oben gesagt - das &quot;bool...()&quot; drumherum verwirrt den Compiler nur und verursacht dann entsprechende Fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/943538</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/943538</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 16 Dec 2005 13:55:41 GMT</pubDate></item><item><title><![CDATA[Reply to mem_fun on Fri, 16 Dec 2005 14:00:13 GMT]]></title><description><![CDATA[<p>genau so hatte ich es ja kommt aber so schöne meldungen wie<br />
Error 1 error C2784: 'std::const_mem_fun1_t&lt;_Result,_Ty,_Arg&gt; std::mem_fun(_Result (__thiscall _Ty::* )(_Arg) const)' : could not deduce template argument for '_Result (__thiscall _Ty::* )(_Arg) const' from 'bool (__cdecl *)(const value_type &amp;,const value_type &amp;)'</p>
<p>und das 4 mal und darum steig ich nicht ganz durch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/943542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/943542</guid><dc:creator><![CDATA[Valentin]]></dc:creator><pubDate>Fri, 16 Dec 2005 14:00:13 GMT</pubDate></item><item><title><![CDATA[Reply to mem_fun on Fri, 16 Dec 2005 14:03:52 GMT]]></title><description><![CDATA[<p>*args - sorry, habe selbst eltwas durcheinandergebracht*</p>
<p>mem_fun() dient natürlich dazu, Memberfunktionen auzubereiten. Für globale Funktionen benötigst du ptr_fun().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/943545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/943545</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 16 Dec 2005 14:03:52 GMT</pubDate></item><item><title><![CDATA[Reply to mem_fun on Fri, 16 Dec 2005 14:19:23 GMT]]></title><description><![CDATA[<p>mit tr1 hast der krampf mit mem_fun, mem_fun_ref, ptr_fun etc. zum glück endlich ein ende <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/943556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/943556</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Fri, 16 Dec 2005 14:19:23 GMT</pubDate></item><item><title><![CDATA[Reply to mem_fun on Fri, 16 Dec 2005 14:23:08 GMT]]></title><description><![CDATA[<p>std::tr1::bind benutzen, wie von Camper gesagt. Wenn keine tr1 vorhanden, geht natürlich auch boost::bind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/943558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/943558</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 16 Dec 2005 14:23:08 GMT</pubDate></item><item><title><![CDATA[Reply to mem_fun on Fri, 16 Dec 2005 14:31:09 GMT]]></title><description><![CDATA[<p>mal was anderes<br />
Error 3 error C2529: '_Right' : reference to reference is illegal e:\program files\microsoft visual studio 8\vc\include\functional 312<br />
Error 5 error C2529: '_Left' : reference to reference is illegal e:\program files\microsoft visual studio 8\vc\include\functional 318<br />
Error 6 error C2529: '_Left' : reference to reference is illegal e:\program files\microsoft visual studio 8\vc\include\functional 323<br />
Error 7 error C2535: 'bool std::binder2nd&lt;_Fn2&gt;::operator ()(const some_type &amp;(&amp;)) const' : member function already defined or declared e:\program files\microsoft visual studio 8\vc\include\functional 324</p>
<p>irgendwie mag mich das teil nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/943568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/943568</guid><dc:creator><![CDATA[Valentin]]></dc:creator><pubDate>Fri, 16 Dec 2005 14:31:09 GMT</pubDate></item></channel></rss>