error: passing xxx as 'this' argument of xxx discards qualifiers的解決辦法

寫demo的時候碰到一個C++編譯報錯,初見也是奇怪了,編譯器指向我調用類成員函數出錯了。
在這裏插入圖片描述
然後百度看了下別人的博客瞬間就醍醐灌頂了,原來是編譯器認爲成員函數可能會修改被const限定的變量
在這裏插入圖片描述

解決辦法

問題根因已經明確,那自然是把成員函數也用const限定一下,這樣編譯器就不會認爲你的成員函數會修改成員變量了。
在這裏插入圖片描述

複習一下

在類成員函數的聲明和定義中,const的函數不能對其數據成員進行修改操作。

養成好習慣

如果成員函數中確認不修改成員變量,那就把函數聲明爲const吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章