The short answer is RTFM :)
Let's look up the function pow:
http://en.cppreference.com/w/cpp/numeric/math/pow
Now, you're probably not using C++11, so you've got these pow functions:
1 2 3
|
float pow( float base, float exp )
double pow( double base, double exp );
long double pow( long double base, long double exp );
|
There's one that takes two
float objects as inputs, and one that takes two
double objects, and one that takes two
long double objects.
So let's see which one you're trying to use; you're passing in
2, which is an
int, and
len-i-1, which is an
int. So you're trying to pass in two
int objects.
There isn't one that takes two
int objects. The compiler is complaining because it doesn't know which function you want to use. It knows how to change an int to a float or a double or a long double, but it has a choice of three options and no idea which one you mean.