问题
我在一个类的cpp文件中,修改一个成员函数,在函数中进行对私有成员变量total_torque_thrust_
的赋值操作,但是却报了如下错误:
no operator "=" matches these operands
或者,
expression must be a modifiable lvalue(表达式必须是可修改的左值)
解决
后面看见这篇博客:在函数后面加const,深受启发。
文章里说,函数名后加const使类成员函数不能修改类内成员!
果然我修改的那个成员函数后面有一个const
,删掉这个const
就不会报错了。
这也解释了我一开始的一个疑问,为什么同样是对私有成员变量赋值,有的函数(比如下面这个)就不会报错,因为他们没有在后面加const
来表示只读。