Мы имеем следующее: (pseudoish)Перегрузки оператор = для структур, внутри классов
class MyClass
{
private:
struct MyStruct{
MyStruct operator=(const MyOtherStruct& rhs);
int am1;
int am2;
};
};
Мы хотели бы перегружать оператор =
в MyClass.cpp сделать что-то вроде:
MyStruct&
MyStruct::operator=(const MyOtherStruct& rhs)
{
am1 = rhs.am1;
am2 = rhs.am2;
}
Однако он не хочет компилироваться. Мы получаем ошибку, подобную
"отсутствует; перед тем &"
и
"MyStruct должен быть класс или пространство имен, если следуют ::"
Есть ли какое-то понятие здесь, я не хватает?
Почему у вас есть 2 типа возврата на ваш оператор = функция? – goji
эй спасибо, исправлено! – MrDuk
Вам не хватает квалификации. Нет класса MyStruct вне класса. – chris