If you're trying to use non-static data member initialization, you cannot do it like that. You need to either use brace initialization, or equal(=) initialization. Either of these should work:
struct Ball
{
Vector2f velocity {-ballVelocity, -ballVelocity};
};
Or this:
struct Ball
{
Vector2f velocity = Vector2f(-ballVelocity, -ballVelocity);
};
Although, if I'm not mistaken, the components of SFML exist in the sf
namespace, so any references to Vector2f
actually need to be qualified as sf::Vector2f
.