在编写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条。