title: Error using std::find with operator==
body: <p>I am getting an error using std::find on the following structure ...</p>
  
  <pre><code>struct ComplianceOrderRecord {
      explicit ComplianceOrderRecord(IOrder&amp; order);
      bool operator ==(const ComplianceOrderRecord&amp; other) const;
      double price;
  };
  
  inline bool ComplianceOrderRecord::operator ==(const ComplianceOrderRecord&amp; other) const {
      return price == other.price;
  }
  </code></pre>
  
  <p>I use it as follows...</p>
  
  <pre><code>inline void Compliance::RemoveComplianceOrderRecord(const ComplianceOrderRecord&amp; order) {
      auto it = std::find(m_compliantOrderList.begin(),
      m_compliantOrderList.end(), order);
      if(it == m_compliantOrderList.end()) {
          return;
      }
      m_compliantOrderList.erase(it);
  }
  </code></pre>
  
  <p>The error is...</p>
  
  <pre><code>error C2679: binary '==' : no operator found which takes a right-hand operand of type 'const ComplianceOrderRecord' (or there is no acceptable conversion)
  </code></pre>
  
  <p>Any help in understanding this error would be very appreciated.</p>