title: Ambiguous pow() function
body: <p>I am trying to make a simple call to the <code>pow()</code> function from math.h someihing similar to..</p>
  
  <pre><code>#include&lt;math.h&gt;
  int main()
  {
      float v,w;
      w=3.0;
      v=pow(w,0.5);//i think this is 'float pow(float,float)'
      return 0;
  }
  </code></pre>
  
  <p>but visual studio says it's an error</p>
  
  <pre><code>1&gt;c:\users\user\documents\visual studio 2008\projects\deo\deo\main.cpp(7) : error C2666: 'pow' : 6 overloads have similar conversions
  1&gt;        c:\program files (x86)\microsoft visual studio 9.0\vc\include\math.h(575): could be 'long double pow(long double,int)'
  1&gt;        c:\program files (x86)\microsoft visual studio 9.0\vc\include\math.h(573): or       'long double pow(long double,long double)'
  1&gt;        c:\program files (x86)\microsoft visual studio 9.0\vc\include\math.h(527): or       'float pow(float,int)'
  1&gt;        c:\program files (x86)\microsoft visual studio 9.0\vc\include\math.h(525): or       'float pow(float,float)'
  1&gt;        c:\program files (x86)\microsoft visual studio 9.0\vc\include\math.h(489): or       'double pow(double,int)'
  1&gt;        c:\program files (x86)\microsoft visual studio 9.0\vc\include\math.h(123): or       'double pow(double,double)'
  1&gt;        while trying to match the argument list '(float, double)'
  </code></pre>
  
  <p>I thought I had the format <code>float pow(float, float)</code>.  </p>