怎样在CodeBlocks中查看标准库的数学函数的
2017-11-27
展开全部
#include <iostream>
#include <cmath> //为了调用sqrt函数
using std::cout;
using std::endl;
void f(float){}
void f(double){}
int main()
{
f(3); //此行出错,因为出现了匹配时的二义性
cout<<sqrt(3)<<endl; //为什么此行不出错?
//《C++参考大全(第四版)》告知:sqrt函数有三个重载版本
// float sqrt(float num);
// double sqrt(double num);
// long double sqrt(long double num);
// 如果三个版本的sqrt函数定义都同时包含进来的话,应该类似于f函数一样,调用时会出错啊!
// 既然此行不出错,就意味着只包含了sqrt的某一个版本,那么是哪个版本?
// 为了证明本次调用到了某个版本,必须查看sqrt的定义,但是:
// 我按照网上的说法,选中sqrt后再右击,再点击"查找实现sqrt",告知"没有找到sqrt的定义"
// 如点击"查找声明sqrt",看到函数原型是"_CRTIMP double __cdecl sqrt (double);",但我看不懂,请指教,谢谢。
// 另外:怎样在CodeBlocks中查看标准库的数学函数的定义?请告知,谢谢。
return 0;
}
#include <cmath> //为了调用sqrt函数
using std::cout;
using std::endl;
void f(float){}
void f(double){}
int main()
{
f(3); //此行出错,因为出现了匹配时的二义性
cout<<sqrt(3)<<endl; //为什么此行不出错?
//《C++参考大全(第四版)》告知:sqrt函数有三个重载版本
// float sqrt(float num);
// double sqrt(double num);
// long double sqrt(long double num);
// 如果三个版本的sqrt函数定义都同时包含进来的话,应该类似于f函数一样,调用时会出错啊!
// 既然此行不出错,就意味着只包含了sqrt的某一个版本,那么是哪个版本?
// 为了证明本次调用到了某个版本,必须查看sqrt的定义,但是:
// 我按照网上的说法,选中sqrt后再右击,再点击"查找实现sqrt",告知"没有找到sqrt的定义"
// 如点击"查找声明sqrt",看到函数原型是"_CRTIMP double __cdecl sqrt (double);",但我看不懂,请指教,谢谢。
// 另外:怎样在CodeBlocks中查看标准库的数学函数的定义?请告知,谢谢。
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |