C++ LEDA library question
<p>I am trying to create a Set using the LEDA library...  I am adding elements of a Class which has a compare() method defined under namespace LEDA... Unfortunately, the compiler is unable to locate the compare function for this class... Here's the error message...</p>

<pre><code>/home/user/Desktop/leda/incl/LEDA/core/set.h: 
In constructor ‘leda::set&lt;E, set_impl&gt;::set() [with E = Operator*, set_impl = leda::avl_tree]’: 
../src/suite.cc:52:   instantiated from here /home/user/Desktop/leda/incl/LEDA/core/set.h:71: error: no matches converting function ‘compare’ to type ‘int (*)(class Operator* const&amp;, class Operator* const&amp;)’ 
    /home/user/Desktop/leda/incl/LEDA/internal/param_types.h:351: error: candidates are: int leda::compare(const char&amp;, const char&amp;) 
    /home/user/Desktop/leda/incl/LEDA/internal/param_types.h:352: error:                 int leda::compare(const unsigned char&amp;, const unsigned char&amp;) 
    /home/user/Desktop/leda/incl/LEDA/internal/param_types.h:353: error:                 int leda::compare(const int&amp;, const int&amp;) 
    /home/user/Desktop/leda/incl/LEDA/internal/param_types.h:354: error:                 int leda::compare(const unsigned int&amp;, const unsigned int&amp;) 
    /home/user/Desktop/leda/incl/LEDA/internal/param_types.h:355: error:                 int leda::compare(const long int&amp;, const long int&amp;) 
    /home/user/Desktop/leda/incl/LEDA/internal/param_types.h:356: error:                 int leda::compare(const long unsigned int&amp;, const long unsigned int&amp;) 
    /home/user/Desktop/leda/incl/LEDA/internal/param_types.h:357: error:                 int leda::compare(const float&amp;, const float&amp;) 
    /home/user/Desktop/leda/incl/LEDA/internal/param_types.h:358: error:                 int leda::compare(const double&amp;, const double&amp;) 
    /home/user/Desktop/leda/incl/LEDA/core/string.h:382: error:                 int leda::compare(const leda::string&amp;, const leda::string&amp;)
</code></pre>

<p>LEDA requires the compare() method be defined for elements of a Set.</p>

<pre><code>Suite::Suite (set&lt;Operator*&gt; *ops)
  : operators(ops!=NULL ? ops : new set&lt;Operator*&gt;)
{
</code></pre>

<p>I have this compare method defined according to LEDA requirements...</p>

<pre><code>namespace leda {
inline int compare (Operator* const &amp;a, Operator* const &amp;b)
{
  return a==b ? 0 : a&lt;b ? -1 : 1;
}
};
</code></pre>

<p>But it still cannot find it in LEDA librabry's set.h here..</p>

<pre><code> set() { cmp_ptr = compare; }
</code></pre>

<p>It tries to find the pointer to the compare() method and assigns it to cmp_ptr ... but cannot find it... </p>

<p>I've defined the method but somehow it doesn't get recognized? </p>

<p>Update: I seem to be having this problem with all compare() definitions.... including other classes in Sets..</p>
