현재 연결된 목록에 == 연산자가 오버로드되고 있습니다. 내가 좋아하는 설정 내 헤더에서 연산자를 가지고 다음과 같은 :이 방법은 가지 않습니다 호출 될 때오버로드 됨 == 함수가 호출되지 않습니다.
class sqrlst
{
public:
std::vector<int> vlist;
bool operator == (iterator const & rhs)
{
return this->iter == rhs.iter;
};
나는 다음 코드 그러나
void test()
{
bool flag;
if (vlist.begin()==vlist.begin())
{
flag=true;
}
};
};
내 헤더 파일에 방법을 만들어 if 오버로드 된 == 연산자 함수에 전달합니다. 디버깅 포인트를 오버로드 함수에 놓으면 라인에 도달하지 못한다고합니다.
모든 요령이나 제안 사항을 매우 높이 평가합니다. 감사!
편집 : vlist는 int의 목록입니다.
'begin()'은 어떤 타입을 반환합니까? – tzaman
@tzaman iterator – Johnston
'sq_list'에 대해'operator =='을 정의한 것처럼 보입니다. 그러나 당신이 수행하고있는 비교는'반복자'에 있습니다. 그렇다면'operator =='는 호출되지 않습니다. 'vlist == vlist'를 호출하면 호출됩니다. – Naveen