My class Game
has a member EntityManager entityManager_
.
The class EntityManager
has a private member Player player_
and the public getter function Player &EntityManager::getPlayer()
which returns player_
.
The class Player
has for example the functions void startMoving()
and sf::Vector2f getPosition() const
.
Now, I can without problems call entityManager_.getPlayer().startMoving();
from within my Game
class, but when I try for example the following code to get the player's position:
sf::Vector2f playerPosition = entityManager_.getPlayer().getPosition();
I get the following error:
IntelliSense:
EntityManager Game::entityManager_
Error: the object has type qualifiers that are not compatible with the member function
object type is: const EntityManager
Output:
game.cpp(261): error C2662: 'EntityManager::getPlayer' : cannot convert 'this' pointer from 'const EntityManager' to 'EntityManager &'
Conversion loses qualifiers
I tried removing the const
from the player's getPosition function but nothing changed.
I know it probably has something to do with the const
but I can't figure out what to change! Could someone please help me?