構造Coordを次のように定義しました
struct Coord {
int x;
int y;
int z;
};
Coord のオーバーロードされた operator!=
bool Coord::operator !=(Coord& crd)const {
if(this->x != crd.x)
{
if(this->y != crd.y)
{
if(this->z != crd.z)
return true;
else
return false;
}
else
return false;
return true;
}
else
return false;
}
次に、ベクトル変数を次のように初期化しました
vector<Coord> vcoord;
現在、次のコードを使用して、特定の Coord オブジェクトを持つベクトルのインデックスを取得しています
int Index::getVIndex(Coord crd) {
vector<Coord>::iterator it;
int indx;
it = vcoord.begin();
while(it != vcoord.end() && (*it) != crd)
++it;
indx = distance(vcoord.begin(),it);
cerr << (*it).x << " " << (*it).y << " " << indx << endl;
return indx;
}
しかし、indx の値は常に 0 です。正しい結果を得るために親切に助けてください。