Пример
class
MyClass
{
public
:
void
function();
private
:
char
*data;
};
Решение
Всегда выполнять оператор присваивания для классов со ссылками на память.
class
MyClass
{
public
:
void
function
();
MyClass
&
operator
=(
const
MyClass
& rightSide){
if (this == &rhs){
return *this;
}
else if(*data == rightSide;{
return *this;
}
}
private
:
char
*data;
};
Решение
Отключить использование присваивания путем объявления его собственным (private).
class
MyClass
{
public
:
void
function
();
private
:
char
*data;
MyClass
&
operator
=(
const
MyClass
& rightSide);
};