Sorry for any basic mistakes I've made, I'm quite new to C++.
Do you see any errors in the functions, because when I use them in practice they don't work as expected.
In other words, is it a problem with some other code or with this code?
As written, the code passes the Vector2f parameters by value, which means it makes a copy of them. If would be more efficient to pass them by constant reference:
Also, if performance is an issue, you could compute the square of the distance in Touches and see if that's less than the square of the sum of the radii.