代碼如下:
//將arrayBuf陣列元素基2抽取并重新排列
//若0、1、2、3、4、5、6、7八點序列對調后變作0、4、2、6、1、5、3、7
int t1,t2;
for(r=1;pow(2,r)<n;r++){
t1=pow(2,r);
t2=pow(2,r-1);
for(k=0;k<t1;k++){
for(i=0;i<n/t1;i++){
buf2[k*n/t1+i].real=buf1[k/2*n/t2+i*2+k%2].real;
buf2[k*n/t1+i].imag=buf1[k/2*n/t2+i*2+k%2].imag;
}
}
memcpy(buf1,buf2,sizeof(ComplexNumber)*n);
}
錯誤提示:
\visual studio 2008\chapter10&11&12\demo\fouriertrans.cpp(191) : error C2668: “pow”: 對多載函式的呼叫不明確
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(575): 可能是“long double pow(long double,int)”
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(527): 或 “float pow(float,int)”
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(489): 或 “double pow(double,int)”
1> 試圖匹配引數串列“(int, int)”時
1>d:\visual studio 2008\chapter10&11&12\demo\fouriertrans.cpp(192) : error C2668: “pow”: 對多載函式的呼叫不明確
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(575): 可能是“long double pow(long double,int)”
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(527): 或 “float pow(float,int)”
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(489): 或 “double pow(double,int)”
1> 試圖匹配引數串列“(int, int)”時
1>d:\visual studio 2008\chapter10&11&12\demo\fouriertrans.cpp(193) : error C2668: “pow”: 對多載函式的呼叫不明確
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(575): 可能是“long double pow(long double,int)”
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(527): 或 “float pow(float,int)”
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(489): 或 “double pow(double,int)”
1> 試圖匹配引數串列“(int, int)”時
1>d:\visual studio 2008\chapter10&11&12\demo\fouriertrans.cpp(207) : error C2668: “pow”: 對多載函式的呼叫不明確
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(575): 可能是“long double pow(long double,int)”
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(527): 或 “float pow(float,int)”
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(489): 或 “double pow(double,int)”
1> 試圖匹配引數串列“(int, int)”時
1>d:\visual studio 2008\chapter10&11&12\demo\fouriertrans.cpp(208) : error C2668: “pow”: 對多載函式的呼叫不明確
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(575): 可能是“long double pow(long double,int)”
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(527): 或 “float pow(float,int)”
1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(489): 或 “double pow(double,int)”
1> 試圖匹配引數串列“(int, int)”時
uj5u.com熱心網友回復:
pow有多個函式,未知明確匹配哪 一個,你必須明確使用哪種資料型別來計算。例如這樣:pow((double)2,2)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/124397.html
標籤:基礎類
上一篇:【菜鳥求助】sizeof小問題
下一篇:基礎C++編譯失敗求解決,大神們
