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

2017-09-06  本文已影响0人  Myth52125

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

报错

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

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

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

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

上一篇 下一篇

猜你喜欢

热点阅读