temp_int
is a int
value, and Visual Studio seems to detect only overloads which receive either double
, long long
or unsigned long long
values, so it doesn't know which overload to use, thus the ambiguity (although it would seem intuitive to cast integer to long values)
Either declare temp_int
as a long long
, or cast it when invoking the function