不能将“this”指针从“const CPaopao”转换为“CPaopao
CPoint CPaopao::GetCenter() {return rc.CenterPoint();}
float CPaopao::Distance(const CPaopao& ortherPaopao){CPoint pt1=GetCenter();CPoint pt2=ortherPaopao.GetCenter();return Distance(pt1, pt2);}
出现如下错误:
error C2662: “CPaopao::GetCenter”: 不能将“this”指针从“const CPaopao”转换为“CPaopao &
原因:
ortherPaopao 为const 常量对象 ,由于const对象在调用成员函数的时候,会将this指针强制转换为const this, 所以它无法找到相应的const GetCenter()。
而且,编译器也无法将一个const对象转换为一个普通对象来调用这个普通的GetCenter()方法,
解决方法:
将GetCenter() 改为常量函数,类的常量成员函数的不会修改类的数据成员。
CPoint CPaopao::GetCenter() const{return rc.CenterPoint();}
另附:
const型成员函数不能调用非const成员函数
但是非const 成员 函数可能会改变的
因此 const 成员 函数是不能调用 非const 成员的。
不能将“this”指针从“const CPaopao”转换为“CPaopao相关推荐
- C++知识点11——this指针,const成员函数,访问权限控制
1.this指针 每个类都有this指针,this指针指向this指针指向的是类的对象本身 class A { public:A() {}~A() {}void func() {cout<< ...
- 不能将参数 2 从“const char *”转换为“LPCWSTR”【转】http://blog.sina.com.cn/s/blog_4a94a0db0100ktxp.html...
: 不能将参数 2 从"const char *"转换为"LPCWSTR" 在VS2008下使用MFC编程遇到错误: error C2664: & ...
- 【C 语言】const 关键字用法 ( 常量指针 - const 在 * 左边 - 修饰数据类型 - 内存不变 | 指针常量 - const 在 * 右边 - 修饰变量 - 指针不变 )
文章目录 一.const 普通用法 二.常量指针 ( 指向 常量 的指针 | 被指向的内存不能被修改 ) 三.指针常量 ( 指针不能被修改 ) 三.指向 常量 的 指针常量 四.const 在 * 左 ...
- 指针和Const限定符
指针和Const限定符 1.指向const对象的指针 如果指针指向的是const对象,则不允许使用指针来改变其所指的const值.C++要求指向const对象的指针具有const特性. const d ...
- c++中的void指针和const指针
在c++中可以声明指向void类型的指针,指向void类型的指针称为void指针,此外,在声明指针时,还可以用关键字const进行修饰,用关键字const修饰的指针称为const指针. 1.void指 ...
- 指针和const限定
[1]指向const对象的const指针 可以定义指向const对象的const指针,形式为: const 指向类型 * const 指针变量名: 例如 con ...
- 不能从const char *转换为LPCWSTR --VS经常碰到
不能从const char *转换为LPCWSTR 在VC 6.0中编译成功的项目在VS2005 vs2005.vs2008.vs2010中常会出现类型错误. 经常出现的错误是:不能从const ch ...
- C++之指向const对象的指针和const指针
1.指向const对象的指针 我们可以通过指针来修改其所指对象的值,但如果指针指向的是const对象,则不允许使用指针来改变其所指的const值.C++要求指向const对象的指针也是const类型. ...
- C++指向const对象的指针和const指针
1.指向const对象的指针 我们可以通过指针来修改其所指对象的值,但如果指针指向的是const对象,则不允许使用指针来改变其所指的const值.C++要求指向const对象的指针也是const类型. ...
最新文章
- Build gradle : Could not find method packagingOptions() for arguments root Project “fasterDev”
- DL之CNN:基于CNN-RNN(GRU,2)算法(keras+tensorflow)实现不定长文本识别
- spingmvc的一些简单理解和记录
- 如何一条命令,榨干机器的所有内存?
- 自控matlab设计,自动控制原理课程设计--基于MATLAB软件的自动控制系统仿真
- 1.3 字符串的全排列
- 《Python数据分析》第二版.第二章.[学习笔记][Jupyter notebook]
- 玩转iOS开发:iOS 8新特性《Share Extension》
- 奥巴马在哥伦比亚大学巴纳德女子学院毕业典礼演讲全文
- 【算法】动态规划之计算二项式系数(C++源码)
- 做自适应网站专业乐云seo_广州网站设计【乐云seo】
- 整理GitHub近期热门开源后台管理系统
- ORA-12154: TNS: 无法解析指定的连接“/one card”应用程序中的服务器错误
- java mongo gte_java-如何操作$concat使用spring mongodb
- vscode远程连接服务器操作方法
- 2018币圈热搜大事件汇总-千氪
- android scrcpy 源代码分析,Scrcpy投屏原理浅析-设备控制篇
- lower_bound()/upper_bound()函数(C++)
- Vulnhub-Tr0ll
- 【Python】什么是递归函数?