C++问题,对象包含与成员函数不兼容的类型限定符
2016-07-19 16:45
543 查看
在编写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++ 对指定的目标文件重命名
- splay树的一些基本操作 c语言代码
- C++输入
- 数组的遍历方法
- C/C++笔记(C语言重要问题,结构体篇)
- 事件调度器及C++中的使用
- 【编程语言】C++ int to string
- Simple Windows Service in C++
- C++STL之string详讲
- C和C++语言中字符串的声明
- Super Pow
- 它是无效的根据C++的语法
- C++ - PAT - L2-013. 红色警报(天梯赛决赛题目)
- 嵌入式C语言实战开发详解(三)
- 谓词,lambda表达式和bind
- C++ string祥解
- C语言中%d,%o,%f,%e,%x的意义
- windows via c/C++设备IO之接收I/O请求完成通知
- 343. Integer Break