Вот класс, который я создал:
class A{
private:
// some private data members:
// 2 const integers
// 2 integers
// 2 const strings
public:
// C'tor
// D'tor
void f(const A&);
}
При построении каждого объекта этого класса нет (явных) динамических распределений, только назначения "примитивных" типов. (без явных динамических распределений, я имею в виду не то, как строковый класс обрабатывает память).
когда я пробую это:
void f(const A& item){
// do some thing
*this = item;
// do other stuff
}
Я получаю следующую ошибку: "использование удаленной функции" A & A:: operator = (const A &) '"
теперь я знаю, что компилятор должен предоставить мне оператор присваивания по умолчанию, и мой вопрос: почему компилятор ссылается на его оператор присваивания по умолчанию в качестве удаленной функции? и как я могу исправить это, не назначая все функции элементов данных вручную?
Спасибо большое! Gal