error: passing xxx as 'this' argument of xxx discards qualifiers的解决办法

写demo的时候碰到一个C++编译报错,初见也是奇怪了,编译器指向我调用类成员函数出错了。
在这里插入图片描述
然后百度看了下别人的博客瞬间就醍醐灌顶了,原来是编译器认为成员函数可能会修改被const限定的变量
在这里插入图片描述

解决办法

问题根因已经明确,那自然是把成员函数也用const限定一下,这样编译器就不会认为你的成员函数会修改成员变量了。
在这里插入图片描述

复习一下

在类成员函数的声明和定义中,const的函数不能对其数据成员进行修改操作。

养成好习惯

如果成员函数中确认不修改成员变量,那就把函数声明为const吧

猜你喜欢

转载自blog.csdn.net/LonelyGambler/article/details/84933917
xxx