私のクラスGame
にはメンバーがいEntityManager entityManager_
ます。
このクラスEntityManager
には、プライベート メンバーと、を返すPlayer player_
パブリック ゲッター関数があります。Player &EntityManager::getPlayer()
player_
クラスPlayer
には、たとえば関数void startMoving()
とsf::Vector2f getPosition() const
.
entityManager_.getPlayer().startMoving();
これで、クラス内から問題なく呼び出すことができますGame
が、たとえば次のコードを試してプレーヤーの位置を取得しようとすると:
sf::Vector2f playerPosition = entityManager_.getPlayer().getPosition();
次のエラーが表示されます。
インテリセンス:
EntityManager Game::entityManager_
Error: the object has type qualifiers that are not compatible with the member function
object type is: const EntityManager
出力:
game.cpp(261): error C2662: 'EntityManager::getPlayer' : cannot convert 'this' pointer from 'const EntityManager' to 'EntityManager &'
Conversion loses qualifiers
const
プレーヤーの getPosition 関数からを削除しようとしましたが、何も変わりませんでした。
おそらく何か関係があることは知っていますが、const
何を変更すればよいかわかりません! 誰か助けてくれませんか?