From the code that you say works
gps.f_get_position(&flat, &flon);
It looks like the function is passed 3 parameters by reference so that they can be updated by the function
In your code
float flon = gps.TinyGPS::f_get_position(flon);
You are only passing one parameter and what's more you are passing by value
The error message
no matching function for call to 'TinyGPS::f_get_position(float&)
Indicates that there is no matching function in the library