[错误] no match for 'operator=' (operand types are 'Lamp' and 'int')
时间: 2024-01-13 08:02:20 浏览: 160
无法从 int? 转换为 int 运行时出现错误
这个错误提示表示在代码中尝试将一个整数类型的值赋给一个Lamp对象,但是Lamp类没有定义相应的赋值运算符。
例如,以下代码会导致该错误:
```
Lamp myLamp;
myLamp = 5;
```
要解决这个错误,可以在Lamp类中定义一个赋值运算符,以允许将整数类型的值赋给Lamp对象。
例如,在Lamp类中添加以下代码:
```
Lamp& operator=(int brightness) {
this->brightness = brightness;
return *this;
}
```
这将允许使用以下代码将整数值赋给Lamp对象:
```
Lamp myLamp;
myLamp = 5;
```
阅读全文