我正在自学“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 ”定义,如果是这样,解释它的正确方法是什么?