<?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[equal_to&amp;lt;string&amp;gt;() -&amp;gt; no match for operator==]]></title><description><![CDATA[<p>Hi</p>
<p>Ich wollt den Algorithmus equal_to mit strings verwenden. Doch der Compiler bringt massig Fehlermeldungen.<br />
Code.</p>
<pre><code class="language-cpp">struct Fraction { std::string m_name, int m_value };

typedef vector&lt;Fraction&gt; FractionTableT;

// Von jedem Eintrag sollen alle mit gleichem Namen gefunden werden.
for( FractionTableT::iterator it = fractions.begin(); it != fractions.end(); it++ )
{
        while( true )
        {
            FractionTableT::iterator findit 
                = find( 
                            fractions.begin(),
                            fractions.end(),
                            bind2nd(                                                  // Hier meldet er den Fehler
                                          std::equal_to&lt;std::string&gt;(),        
                                          it-&gt;m_name 
                            )
                          );
            if( findit == fractions.end() )
            {
                break;
            }
            // tu was damit
        }
}
</code></pre>
<p>Fehler</p>
<blockquote>
<p>/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:212: error: no match for ‘operator==’ in ‘__first. __gnu_cxx::__normal_iterator&lt;_Iterator, _Container&gt;::operator* [with _Iterator = Fraction*, _Container = std::vector&lt;Fraction, std::allocator&lt;Fraction&gt; &gt;]() == __val’<br />
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:216: error: no match for ‘operator==’ in ‘__first. __gnu_cxx::__normal_iterator&lt;_Iterator, _Container&gt;::operator* [with _Iterator = Fraction*, _Container = std::vector&lt;Fraction, std::allocator&lt;Fraction&gt; &gt;]() == __val’<br />
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:220: error: no match for ‘operator==’ in ‘__first. __gnu_cxx::__normal_iterator&lt;_Iterator, _Container&gt;::operator* [with _Iterator = Fraction*, _Container = std::vector&lt;Fraction, std::allocator&lt;Fraction&gt; &gt;]() == __val’<br />
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:228: error: no match for ‘operator==’ in ‘__first. __gnu_cxx::__normal_iterator&lt;_Iterator, _Container&gt;::operator* [with _Iterator = Fraction*, _Container = std::vector&lt;Fraction, std::allocator&lt;Fraction&gt; &gt;]() == __val’<br />
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:232: error: no match for ‘operator==’ in ‘__first. __gnu_cxx::__normal_iterator&lt;_Iterator, _Container&gt;::operator* [with _Iterator = Fraction*, _Container = std::vector&lt;Fraction, std::allocator&lt;Fraction&gt; &gt;]() == __val’<br />
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:236: error: no match for ‘operator==’ in ‘__first. __gnu_cxx::__normal_iterator&lt;_Iterator, _Container&gt;::operator* [with _Iterator = Fraction*, _Container = std::vector&lt;Fraction, std::allocator&lt;Fraction&gt;</p>
</blockquote>
<p>Kann mir jemand aus dem Gewühl helfen?<br />
Danke <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/topic/174538/equal_to-lt-string-gt-gt-no-match-for-operator</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 18:28:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/174538.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Feb 2007 13:00:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to equal_to&amp;lt;string&amp;gt;() -&amp;gt; no match for operator== on Wed, 28 Feb 2007 13:00:34 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Ich wollt den Algorithmus equal_to mit strings verwenden. Doch der Compiler bringt massig Fehlermeldungen.<br />
Code.</p>
<pre><code class="language-cpp">struct Fraction { std::string m_name, int m_value };

typedef vector&lt;Fraction&gt; FractionTableT;

// Von jedem Eintrag sollen alle mit gleichem Namen gefunden werden.
for( FractionTableT::iterator it = fractions.begin(); it != fractions.end(); it++ )
{
        while( true )
        {
            FractionTableT::iterator findit 
                = find( 
                            fractions.begin(),
                            fractions.end(),
                            bind2nd(                                                  // Hier meldet er den Fehler
                                          std::equal_to&lt;std::string&gt;(),        
                                          it-&gt;m_name 
                            )
                          );
            if( findit == fractions.end() )
            {
                break;
            }
            // tu was damit
        }
}
</code></pre>
<p>Fehler</p>
<blockquote>
<p>/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:212: error: no match for ‘operator==’ in ‘__first. __gnu_cxx::__normal_iterator&lt;_Iterator, _Container&gt;::operator* [with _Iterator = Fraction*, _Container = std::vector&lt;Fraction, std::allocator&lt;Fraction&gt; &gt;]() == __val’<br />
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:216: error: no match for ‘operator==’ in ‘__first. __gnu_cxx::__normal_iterator&lt;_Iterator, _Container&gt;::operator* [with _Iterator = Fraction*, _Container = std::vector&lt;Fraction, std::allocator&lt;Fraction&gt; &gt;]() == __val’<br />
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:220: error: no match for ‘operator==’ in ‘__first. __gnu_cxx::__normal_iterator&lt;_Iterator, _Container&gt;::operator* [with _Iterator = Fraction*, _Container = std::vector&lt;Fraction, std::allocator&lt;Fraction&gt; &gt;]() == __val’<br />
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:228: error: no match for ‘operator==’ in ‘__first. __gnu_cxx::__normal_iterator&lt;_Iterator, _Container&gt;::operator* [with _Iterator = Fraction*, _Container = std::vector&lt;Fraction, std::allocator&lt;Fraction&gt; &gt;]() == __val’<br />
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:232: error: no match for ‘operator==’ in ‘__first. __gnu_cxx::__normal_iterator&lt;_Iterator, _Container&gt;::operator* [with _Iterator = Fraction*, _Container = std::vector&lt;Fraction, std::allocator&lt;Fraction&gt; &gt;]() == __val’<br />
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:236: error: no match for ‘operator==’ in ‘__first. __gnu_cxx::__normal_iterator&lt;_Iterator, _Container&gt;::operator* [with _Iterator = Fraction*, _Container = std::vector&lt;Fraction, std::allocator&lt;Fraction&gt;</p>
</blockquote>
<p>Kann mir jemand aus dem Gewühl helfen?<br />
Danke <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/1236784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1236784</guid><dc:creator><![CDATA[Evil Knevil]]></dc:creator><pubDate>Wed, 28 Feb 2007 13:00:34 GMT</pubDate></item><item><title><![CDATA[Reply to equal_to&amp;lt;string&amp;gt;() -&amp;gt; no match for operator== on Wed, 28 Feb 2007 13:05:54 GMT]]></title><description><![CDATA[<p>find() erwartet als letzten Parameter einen Wert, mit dem verglichen werden soll, die Variante, die einen Funktor erwartet, nennt sich find_if().</p>
<p>(und equal_to&lt;&gt; dürfte auch Probleme damit bekommen, wenn du ihm verschiedene Datentypen übergeben willst - da brauchst du schon eine eigene Vergleichsfunktion)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1236790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1236790</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 28 Feb 2007 13:05:54 GMT</pubDate></item></channel></rss>