示例

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);
};