Re: [問題]Dev C++當中pow函數的使用
※ 引述《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 型態傳入 之規定,
這小弟又不清楚了。
嗯…小弟的程度只能回應到這裡,剩下的就有請大師囉。
--
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章