Re: [問題]Dev C++當中pow函數的使用

看板Programming作者時間18年前 (2007/11/09 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/5 (看更多)
※ 引述《BoHann.bbs@bbs.cis.nctu.edu.tw (延宕的人生)》之銘言: > 請問一下: > 目前我用Dev C++來寫程式,想使用pow函數,在cmath裡面找到他的定義是 > pow(double, double) //刮號內是指資料型態 > 並且有下面幾種定義 > pow(float, float) > pow(long double, long double) > pow(double, int) > pow(float, int) > pow(long double, int) > 不過寫程式可以發現 > pow(2,3); 不接受,因為都是整數,沒有pow(int, int),可以理解 > pow((float)2,3.0); 不接受,因為沒有pow(float, double)的定義 > pow(2,3.0) 但是這個卻接受,不過並沒有pow(int, double)的定義啊? 小弟對此不甚了解 不過聽說 C++ 有「隱式轉型」 也就是 低精確度變數 常會 隱式轉型為 高精確度變數 所以 pow (2, 3.0) 可接受是理解的, 又聽說,函數宣告中,有 explicit 修飾子可禁止隱式轉型者。 所以 pow(2, 3) 應該有禁止隱式轉型的修飾子吧? 又, pow ( (float)2 , 3.0 ) 是否有 第一變數強制以 float 型態傳入 之規定, 這小弟又不清楚了。 嗯…小弟的程度只能回應到這裡,剩下的就有請大師囉。 --
文章代碼(AID): #17CqxW00 (Programming)
文章代碼(AID): #17CqxW00 (Programming)