You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++调用AbilityHolder::update传this报错:无匹配函数

问题分析与解决

错误原因很明确:AbilityHolder::update函数要求传入**Sprite类型的引用**,但你调用时传的是this——这是Player*类型的指针,指针无法直接匹配引用类型的参数,导致函数不匹配。

解决方法

直接将指针解引用为引用即可,修改Player类update函数中的调用代码:

// 原代码
abilit1Holder.update(this);
// 修改后
abilit1Holder.update(*this);

因为Player继承自Sprite,*this作为Player&可以隐式转换为Sprite&,完全符合update函数的参数要求。

额外注意

你的Player类中成员变量拼写有误:abilit1Holder应该是ability1Holder(少了一个字母y),虽然这不是当前报错的原因,但后续可能引发其他问题,建议一并修正。

内容的提问来源于stack exchange,提问作者alonelypillow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 15:11:12