https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70318
Marc Glisse <glisse at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |INVALID
--- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> ---
What the standard requires is essentially:
namespace std { double sqrt(int); double sqrt(long); ... }
(you should not specify a template parameter for your call to sqrt, that makes
your program not portable)
What g++ -Wfloat-conversion is telling you is that you are assigning a double
to an int. You would get essentially the same warning with int i = 3.14;
It isn't clear what you are expecting here. Did you interpret the standard as
providing int sqrt(int); long sqrt(long); etc?