나는 foo라는 함수를 가진 인터페이스의 사용을 테스트하고있다. 그때 foo를 호출 한 경우 확인하는 시험이const_iterator를 사용할 때 어설 션
class Mock
{
public:
void foo(Foo::const_iterator begin, Foo::const_iterator end) {
_begin = begin;
_end = end;
...
}
...
Foo::const_iterator _begin;
Foo::const_iterator _end;
};
: 여기 내 모의에서이 기능의 내 구현
// test that function foo is not called
EXPECT_EQ(mock->_begin, Foo::const_iterator());
는하지만이 주장 비주얼 스튜디오 나에게 주장을주고있다 이터레이터는 호환되지 않습니다. 나는 foo()를 호출하지 않으면 _begin이 Foo :: const_iterator()와 같을 것이라고 기대했을 것이다. 왜 안 그래?
'Foo :: const_iterator()'의'operator =='는 두 개의 기본 생성 인스턴스를 서로 비교할 수 있습니까? 기본 생성 iterator를 "invalid"로 만들고 "iterator와는 다르다"는 의미의 유효한 선택이됩니다. – Angew
@stardust_ 멤버를 유형과 어떻게 비교 하시겠습니까? – Angew