为什么sqrt()使用int参数?

时间:2013-10-30 14:03:54

标签: c++ int cmath

我正在自学“Bjarne Stroustrup(2008)”中的“编程原则与实践使用C ++ ”一书。当我从书中实施一个练习时,我遇到了一个小问题。这里使用的IDE是Visual Studio 2012 ultimate。这里使用的项目类型是Win32控制台应用程序。

在本书的第68页,作者声称:

请注意,没有为int定义sqrt(),因此将n分配给double并获取

的sqrt()

然而,我发现它不符合我的练习代码作为fowling:

// test if sqrt() a integer is working
#include "../../std_lib_facilities.h"

int main ()
{
    int a = 10;
    cout << "square root of 10 is " << sqrt(a) << endl;
    keep_window_open();

    return 0;
}

结果:

square root of 10 is 3.16228
Please enter a character to exit

问题:

为什么它正如我按照书中所说的那样工作?或者,我错误地理解“ sqrt()没有为int ”定义,如果是这样,解释它的正确方法是什么?

0 个答案:

没有答案