Класс EntityManager имеет частный член Player player_ и общедоступную функцию получения Player &EntityManager::getPlayer(), которая возвращает player_.
Класс Player имеет пример функций void startMoving() и sf::Vector2f getPosition() const.
Теперь я могу без проблем вызватьentityManager_.getPlayer().startMoving(); из в моем классе Game, но когда я пытаюсь, например, использовать следующий код, чтобы получить позицию игрока:
Код: Выделить всё
sf::Vector2f playerPosition = entityManager_.getPlayer().getPosition();Я получаю следующую ошибку:
IntelliSense:
Код: Выделить всё
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, но я не могу понять, что изменить! Может ли кто-нибудь мне помочь?
Подробнее здесь: https://stackoverflow.com/questions/246 ... r-function
Мобильная версия