该对象具有与成员函数sfml重写draw不兼容的类型限定符

时间:2014-09-24 23:55:43

标签: c++ const sfml

我正在使用SFML 2.1并希望覆盖drawable :: draw方法:

void AnimatedSprite::draw(sf::RenderTarget& target, sf::RenderStates states) const;

在其实现中,我正在使用具有以下签名的成员函数:(导致标题错误的函数)

const sf::Sprite AnimatedSprite::getCurrent()

在这个函数中,我使用另一个具有类似签名的函数:

const sf::Sprite Animation::getCurrent()

我返回一个非const Sprite。

我想这可能是问题,但为什么呢?我不能使用非const变量来绘制我的实体吗?如果我能,怎么样?

1 个答案:

答案 0 :(得分:1)

您是否忘记在getCurrent函数中添加const?你还要寄回精灵的副本,那是你的意图吗?试试const sf::Sprite& AnimatedSprite::getCurrent() const