看板Programming
标 题Re: [问题]Dev C++当中pow函数的使用
发信站KKCITY (Thu Nov 8 22:42:00 2007)
转信站ptt!ctu-reader!ctu-peer!news.nctu!netnews.chu!Leo.mi.chu!zoonews.ee.nt
※ 引述《[email protected] (延宕的人生)》之铭言:
> 请问一下:
> 目前我用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 型态传入 之规定,
这小弟又不清楚了。
嗯…小弟的程度只能回应到这里,剩下的就有请大师罗。
--