m_shape->getSize() // sf::Vector2f
While in your code you perform
m_shape->getPosition().x + (m_shape->getSize() / 2)
Which is illegal since getPosition().x is a float. Are you sure you did not want to use m_shape->getSize().x?
getPosition().x
m_shape->getSize().x