[問題] 同樣程式 無法編譯

看板C_and_CPP作者 (kerker)時間13年前 (2010/11/11 13:09), 編輯推噓1(109)
留言10則, 4人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 程式在vc 6可以跑編譯成功 但是換了vc 2010版 會出現一堆警告 還有錯誤 我知道用個變數去等於他 再放進abs可以解決 但是我想解決的是相容性的問題 希望得到的正確結果: 如何解決相容的問題 程式跑出來的錯誤結果: error C2668: 'abs' : ambiguous call to overloaded function 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) VC 2010 有問題的code: (請善用置底文標色功能) sad += abs(*(ii + 2)-(*(curr+1))); 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.106.4

11/11 13:43, , 1F
so sad
11/11 13:43, 1F

11/11 13:45, , 2F
可以說一下 ii跟 curr的型別嗎 ? 改到VS2010可以吃才
11/11 13:45, 2F

11/11 13:46, , 3F
比較標準喔, VC6 行不行其實根本不重要 XD
11/11 13:46, 3F

11/11 14:02, , 4F
data type 很重要,abs() 是針對 整數
11/11 14:02, 4F

11/11 14:03, , 5F
ii, curr 應該是 指標變數,指向什麼東西,很重要
11/11 14:03, 5F

11/11 14:17, , 6F
sad += abs((int)*(ii + 2)-((int)*(curr+1)));
11/11 14:17, 6F

11/11 14:22, , 7F
abs 有接受 float, double, long double 的版本, 在可
11/11 14:22, 7F

11/11 14:22, , 8F
以用隱式轉換互轉的情況下, 編譯器當然不知道你想要
11/11 14:22, 8F

11/11 14:22, , 9F
呼叫哪個
11/11 14:22, 9F

11/11 16:01, , 10F
感謝 晚點試試看
11/11 16:01, 10F
文章代碼(AID): #1Cstfk-v (C_and_CPP)