我在C++C++ POW()函數錯誤
#include<math.h>
void main()
{
float a,x;
cout<<"Enter value of a"<<endl;
cin>>a;
x = pow(a,0.5);
cout<<x;
}
做了一個簡單的代碼,但它給我的錯誤:
當我按下F12,去戰俘的定義( ),這些6個重載發現:
正如我們可以看到的,它顯然有一個重載(double,double)和一個for(float,float),那麼爲什麼當我將'a'聲明爲float並且在更改其數據類型到'b'?
問題是你傳遞了一個'float'作爲第一個參數和一個'double'作爲第二個參數,並且沒有重載匹配那個參數必須被轉換,但是編譯器不能決定哪個參數轉換爲您製作。 – 2015-03-03 13:56:41
0.5可能不明確。將其修改爲0.5f,以便將其解釋爲浮點文字。 – 2015-03-03 13:57:21
@LeandroVaz:0.5不含糊 - 它是'double'類型的文字。 – 2015-03-03 14:02:47