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() 改为常量函数,类的常量成员函数的不会修改类的数据成员。

因为const成员函数中不允许对数据成员进行修改,如果修改,编译器将报错,这大 大提高了程序的健壮性


   CPoint CPaopao::GetCenter() const{return rc.CenterPoint();}

另附:

const型成员函数不能调用非const成员函数

          因为 const成员函数是不会改变类的数据成员的值的 
          但是非const 成员 函数可能会改变的 
          因此 const 成员 函数是不能调用 非const 成员的。

不能将“this”指针从“const CPaopao”转换为“CPaopao相关推荐

  1. C++知识点11——this指针,const成员函数,访问权限控制

    1.this指针 每个类都有this指针,this指针指向this指针指向的是类的对象本身 class A { public:A() {}~A() {}void func() {cout<< ...

  2. 不能将参数 2 从“const char *”转换为“LPCWSTR”【转】http://blog.sina.com.cn/s/blog_4a94a0db0100ktxp.html...

    : 不能将参数 2 从"const char *"转换为"LPCWSTR" 在VS2008下使用MFC编程遇到错误:        error C2664: & ...

  3. 【C 语言】const 关键字用法 ( 常量指针 - const 在 * 左边 - 修饰数据类型 - 内存不变 | 指针常量 - const 在 * 右边 - 修饰变量 - 指针不变 )

    文章目录 一.const 普通用法 二.常量指针 ( 指向 常量 的指针 | 被指向的内存不能被修改 ) 三.指针常量 ( 指针不能被修改 ) 三.指向 常量 的 指针常量 四.const 在 * 左 ...

  4. 指针和Const限定符

    指针和Const限定符 1.指向const对象的指针 如果指针指向的是const对象,则不允许使用指针来改变其所指的const值.C++要求指向const对象的指针具有const特性. const d ...

  5. c++中的void指针和const指针

    在c++中可以声明指向void类型的指针,指向void类型的指针称为void指针,此外,在声明指针时,还可以用关键字const进行修饰,用关键字const修饰的指针称为const指针. 1.void指 ...

  6. 指针和const限定

     [1]指向const对象的const指针     可以定义指向const对象的const指针,形式为:      const 指向类型 * const 指针变量名:     例如     con ...

  7. 不能从const char *转换为LPCWSTR --VS经常碰到

    不能从const char *转换为LPCWSTR 在VC 6.0中编译成功的项目在VS2005 vs2005.vs2008.vs2010中常会出现类型错误. 经常出现的错误是:不能从const ch ...

  8. C++之指向const对象的指针和const指针

    1.指向const对象的指针 我们可以通过指针来修改其所指对象的值,但如果指针指向的是const对象,则不允许使用指针来改变其所指的const值.C++要求指向const对象的指针也是const类型. ...

  9. C++指向const对象的指针和const指针

    1.指向const对象的指针 我们可以通过指针来修改其所指对象的值,但如果指针指向的是const对象,则不允许使用指针来改变其所指的const值.C++要求指向const对象的指针也是const类型. ...

最新文章

  1. Build gradle : Could not find method packagingOptions() for arguments root Project “fasterDev”
  2. DL之CNN:基于CNN-RNN(GRU,2)算法(keras+tensorflow)实现不定长文本识别
  3. spingmvc的一些简单理解和记录
  4. 如何一条命令,榨干机器的所有内存?
  5. 自控matlab设计,自动控制原理课程设计--基于MATLAB软件的自动控制系统仿真
  6. 1.3 字符串的全排列
  7. 《Python数据分析》第二版.第二章.[学习笔记][Jupyter notebook]
  8. 玩转iOS开发:iOS 8新特性《Share Extension》
  9. 奥巴马在哥伦比亚大学巴纳德女子学院毕业典礼演讲全文
  10. 【算法】动态规划之计算二项式系数(C++源码)
  11. 做自适应网站专业乐云seo_广州网站设计【乐云seo】
  12. 整理GitHub近期热门开源后台管理系统
  13. ORA-12154: TNS: 无法解析指定的连接“/one card”应用程序中的服务器错误
  14. java mongo gte_java-如何操作$concat使用spring mongodb
  15. vscode远程连接服务器操作方法
  16. 2018币圈热搜大事件汇总-千氪
  17. android scrcpy 源代码分析,Scrcpy投屏原理浅析-设备控制篇
  18. lower_bound()/upper_bound()函数(C++)
  19. Vulnhub-Tr0ll
  20. 【Python】什么是递归函数?

热门文章

  1. 爱奇艺校招----回文素数(python)
  2. 3D Human Body Reconstruction
  3. Android基于Okhttp3的文件下载工具类
  4. WINDOWS MOBILE获取运营商名称
  5. 番外篇:研究生心得:研一篇
  6. Aruba IAP配置remote ap(RAP)步骤
  7. 知识产权(零)——专利检索概论
  8. 2015年下半年 系统架构设计师 答案详解
  9. ZETA进军智慧医疗,助力医院数字化运营
  10. 关于防滑涂料,你不知道的那些事!