C++问题,对象包含与成员函数不兼容的类型限定符

来源:互联网 发布:淘宝店铺简介怎么写? 编辑:程序博客网 时间:2024/05/01 14:05

在编写Image 的构造函数时:

Image::Image(const Matrix &m) //构造函数重载,由Matrix类对象构造Image类对象(Matrix类是image类的父类)
{
height=m.Height();


}

其中Height()是Matrix 类的成员函数,返回矩阵的高;

标红的m.Height();提示 :  Error 对象包含与成员函数不兼容的类型限定符

  

解决方法:将int Height()  改成int  Height()const  

其实这里面涉及到了常成员函数的使用:

1. 对于一个常量对象,只能调用常函数
2. 如果常函数里面不小心修改了类成员或者调用了非常函数,编译器会帮你找出这个错误。

此问题的原因正是第1条。

0 0
原创粉丝点击