编译器报错C2440

错误 C2440“类型转换”: 无法从“int (__thiscall SpiritStone::* )(void) const”转换为“int”


QQ截图20220731211500.jpg
//修仙者的灵石战斗力辅助加成
    SpiritStone stone;
    for (unsigned int i = 0; i < stones.size(); i++) {
        stone = stone + stones[i];
    }
    ret += (int)stone.getCount * STONE_COUNT_FACTOR;

解决: stone.getCount()后面加上括号
getCount()这个函数没有加括号,getCount()这个是一个函数方法,如果不加(),编译器执行的时候,
会执行它声明, int getCount()const; 编译器一看后面还加个const就乱了,而函数实现那里没有相关的const方法

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 我们会经常听到编译器这个词语,我们就会想什么是编译器,它的功能是什么,跟我们的开发又有什么关系,这篇文章就带...
    似水流年_9ebe阅读 4,642评论 0 3
  • 写在前面 其实这个是我的编译原理一次作业的草稿,也是第一次阅读编译器的源码,虽然比较简单,但是也是第一次,分享一下...
    白里个白阅读 5,935评论 0 3
  • 2.变量和基本类型 3.字符串、向量和数组 4.表达式 5.语句 2.变量和基本类型 c++的算术类型: 一个ch...
    暮落晴空阅读 3,973评论 0 0
  • 基本内置类型 算术类型字符整型布尔值浮点数 空类型(void) 算术类型 带符号类型和无符号类型int、short...
    2625K阅读 8,673评论 0 1
  • 面向对象的程序设计思想是什么?答:把数据结构和对数据结构进行操作的方法封装形成一个个的对象。 什么是类?答:把一些...
    飞扬code阅读 7,634评论 0 11