/************************************************
 ** In this example, I'm simply trying to
 ** compute 8768767 / 3^5 ... but when I call
 ** "pow", the compiler tells me the function
 ** call is ambiguous.  Why?
 ************************************************/
#include <iostream>
#include <cmath>
using namespace std;

int pow(int x, int k);

int main()
{

  int b = 8768767;

  double z = 3.0;
  int  t = 5.0;

  cout << "Answer is " << b / pow(z,t) << endl;

  return 0;
}

int pow(int x, int k)
{
  int ans = 1;
  for(int i = 0; i < k; i++)
    ans = ans * x;
  return ans;
}