現在、リンクされたリストに==演算子のオーバーロードを行っています。私は、しかし、この方法では、それは行かないが呼び出されたときに、次のコードオーバーロード==関数が呼び出されない
void test()
{
bool flag;
if (vlist.begin()==vlist.begin())
{
flag=true;
}
};
};
と私のヘッダファイルにメソッドを作成し
class sqrlst
{
public:
std::vector<int> vlist;
bool operator == (iterator const & rhs)
{
return this->iter == rhs.iter;
};
:私は次のように設定私のヘッダー内の演算子を持っていますif文にヒットすると、オーバーロードされた==演算子関数に渡されます。デバッグポイントをオーバーロード機能に置くと、そのラインには到達しないと言われます。
ご意見やご提案をいただければ幸いです。ありがとう!
EDIT:vlistはintのリストです。
'begin()'はどのような型を返しますか? – tzaman
@tzaman iterator – Johnston
'sq_list'に' operator == 'を定義したようです。しかし、あなたが実行している比較は 'iterators'にあります。もしそうなら、 'operator =='は呼び出されません。 'vlist == vlist'を実行すると呼び出されます。 – Naveen