g++报错: const对象调用非const成员函数

原因:当一个const对象调用其非const成员函数时,编译器不能保证其函数不修改对象内部数据,因此回报错。
解决:将函数声明为const

报错

在写一个string简单的类时,想把该类主要用于函数传递。
因此免不了使用const &这样传进去的函数,就不能使用非const的成员函数。

如上图,size()函数不是const函数,而传入参数是const &
对一个const对象,调用其非const函数,报错方式如上图所示。

需要.size().c_str()都是const的函数。

如果成员函数不会改变对象内部状态,那就声明为const对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容