C2678 error on remove from list of custom datatypes
<p>I'm currently hard at work on an assignment piece, which contains several custom datatypes. I've run into a problem where list is complaining that I am trying to remove a custom data type from a list of that same data type.</p>

<pre><code>Error   3   error C2678: binary '==' : no operator found which takes a left-hand operand of type 'customer' (or there is no acceptable conversion)  c:\program files (x86)\microsoft visual studio 10.0\vc\include\list 1194    1   Assignment 1 - Video Store MIS
</code></pre>

<p>The relevant code is here:</p>

<pre><code>void customerCollection::removeCustomer(customer person)
{
customers.remove(person);
}
</code></pre>

<p>and the custom data type does have a == operator defined:</p>

<pre><code>bool customer::operator==(customer &amp;other) const
{
return (l_fullName == other.getName()) &amp;&amp; 
       (l_contactNumber == other.getNumber()) &amp;&amp; 
       (l_password == other.getPassword()) &amp;&amp; 
       (l_username == other.getUsername());
}
</code></pre>

<p>Is there any reason that the list type can't see the overloaded operator?</p>

<p>The customerCollection and customer data types are required parts of the program.</p>

<p>[EDIT] The overloaded operator is defined as public in the header file.</p>
