Мне нужно сделать некоторое логическое сравнение и вернуть логический ответ.Логическое сравнение == Перегрузка оператора
Вот код из файла .cpp:
bool MyString::operator==(const MyString& other)const
{
if(other.Size == this.Size)
{
for(int i = 0; i < this.Size+1; i++)
{
if(this[i] == other[i])
return true;
}
}
else
return false;
}
Вот что называется из main.cpp файла:
if (String1 == String4)
{
String3.Print();
}
else
{
String4.Print();
}
Здесь есть ошибки компиляции я получаю:
error: request for member `Size` in `this`, which is of non-class type `const MyString* const`
error: no match for `operator[]` in `other[i]`
'если (это [я] == Другие [я]) возвращающие;' Это собирается вызвать проблемы позже. Подумайте о том, что вы там делаете. – chris
Это на самом деле единственная ошибка, которую я получаю сейчас. Все, что я хочу сделать, это сравнить содержимое обеих строк. Как я мог это сделать, не перегружая также операторы []? – user1363061