イテレータの find メソッドを使用して、定義したクラスのインスタンスがベクトルに既にあるかどうかを確認したいと考えています。クラスの == 演算子をオーバーロードしました。ただし、コンパイルすることはできませんでした。
ここで何が欠けていますか?
ありがとうございます。
コードのスニペットを次に示します。
vector<ContourEdgeIndexes>::iterator it = find(contourEdges.begin(),contourEdges.end(),contourEdgeCand);
if(it != contourEdges.end()) {
contourEdges.erase(it);
}
compiler gives this error:
error: no matching function for call to ‘find(std::vector<ContourEdgeIndexes>::iterator, std::vector<ContourEdgeIndexes>::iterator, ContourEdgeIndexes&)’
edit:
and here is the overloaded == operator:
bool operator == (ContourEdgeIndexes& rhs) {
if((this->first == rhs.first) && (this->second == rhs.second))
return true;
else
return false;
}