看板 C_and_CPP 關於我們 聯絡資訊
先附上程式碼 #include <iostream> #include <math.h> using namespace std; int main() { int i = 0; int max = pow(2,4); int end; double x[10]; while(i < 10) {x[i] = (rand()%max) + 1; x[i] = x[i] / max; cout << x[i] << endl; i++; } cin >> end; return 0; } 主要是在練習產生十個0~1之間的隨機亂數 然而卻產生下列的錯誤訊息: Error 1 error C2668: 'pow' : ambiguous call to overloaded function c:\documents and settings\acer\my documents\visual studio 2010\projects\practice\practice\source1.cpp 8 1 Practice 2 IntelliSense: more than one instance of overloaded function "pow" matches the argument list: c:\documents and settings\acer\my documents\visual studio 2010\projects\practice\practice\source1.cpp 8 12 Practice 不太清楚程式碼哪裡打錯了 有請板上大神幫忙抓蟲 THX~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.250.67.52
wtvwtvwtv200:在VC裡pow似乎沒有整數版本 07/24 22:53
tjjh89017:這就要提到cmath跟math.h的差異了,在pow()上有差喔 07/24 22:53
wtvwtvwtv200:可以在常數後綴"."小數點轉型成double 07/24 22:54
tjjh89017:或是* 1.0 07/24 22:57
leiyan:pow(2.,4) 07/24 23:01
EdisonX:跳 tone, max 不是個好的變數名稱。 07/24 23:04