C++问题,对象包含与成员函数不兼容的类型限定符
2017-04-19 16:00
597 查看
在编写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条。
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条。
相关文章推荐
- C++问题,对象包含与成员函数不兼容的类型限定符
- C++之对象包含与成员函数不兼容的类型限定符---补充(5)《Effective C++》
- Effective C++ Item 45 运用成员函数模板接收所有兼容类型
- c++ 父类成员函数的参数中有子类类型的对象 (前置声明解决)
- c++对象成员函数返回自身引用时出现的诡异问题及解决办法
- 读书笔记_Effective_C++_条款四十五:运用成员函数模板接受所有兼容类型
- C++箴言:用成员函数模板接受兼容类型
- C++ 中const 类型限定符不兼容问题
- c++对象成员函数返回自身引用时出现的诡异问题及解决办法
- 读书笔记 effective c++ Item 45 使用成员函数模板来接受“所有兼容类型”
- C++箴言:用成员函数模板接受兼容类型
- C++初始化列表问题,类中有一个对象类型的数组成员变量,在初始化列表中初始化时报错“[]”操作符语法错误
- C++基类成员函数访问派生类对象的基类成员问题
- C++箴言:用成员函数模板接受兼容类型
- C++关于参数为const引用类型的函数调用参数成员函数的一个问题
- 对一个包含虚函数成员的对象bzero()会有什么问题?
- C++ 对象的成员函数中抛出的异常
- c++中const对象与const成员函数
- MFC之头文件相互包含问题及解决方法 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
- 解决VC6.0 对象点不出成员函数的问题