나는 다음과 같은C++ 과부하 연산자 ==
bool DistinctWord::operator==(const DistinctWord W) const
{
return strWord == W.strWord;
}
bool DistinctWord::operator==(const DistinctWord& W) const
{
return strWord == W.strWord;
}
내 프로그램에서이 작업을하고 있어요와 클래스가
DistinctWord* wordOne = new DistinctWord("Test");
DistinctWord* wordTwo = new DistinctWord("Test");
if(*wordOne == *wordTwo)
cout << "true";
else
cout << "false";
는이 오류를
오류 C2678을 얻을 : 진 ' == ':'DistinctWord '유형의 왼쪽 피연산자를 사용하는 연산자가 없습니다 (또는 허용되는 변환이 없음) 은'내장 C++ 연산자 == (DistinctWord *, DistinctWord *, DistinctWord *
) '
나는 오버로드 할 수있는 올바른 방법을 모르겠다.
간단한 질문을 드려 죄송합니다. TIA
는
'Word'의 상속 나무 란 무엇입니까? – strager
어떤 유형이'strWord'입니까? 또한 오류에 대한 특정 줄을 제공합니까? – Twisol
@Jeremiah : 내 최근의 (상단의) 편집을 참조하십시오. 그것은 당신이 필요로하는 해결책을 가지고 있습니다. –