C++:cmath里数学函数前面是否应该有std::,我不加也行

#include<iostream>#include<cmath>intmain(){inta=sqrt(4);std::cout<<a<<"\n";}... #include<iostream>
#include<cmath>
int main()
{
int a=sqrt(4);
std::cout<<a<<"\n";
}
展开
 我来答
zjfaok
2013-11-10 · TA获得超过6807个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1622万
展开全部
因为<cmath>是兼容C的头文件,C++标准允许(但不要求)其中含有在全局空间声明的函数,但是std::sqrt(4)一定是可行的
更多追问追答
追问
#include
#include
int main()
{
int a=std::sqrt(4);
std::cout<<a<<"\n";
}
报错 error C2039: 'sqrt' : is not a member of 'std'
追答
这什么垃圾编译器
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-10
展开全部
记得正确的书写方法有两种,一种是你写的这样,另一种是在宏定义后面加using namespace std;
追问
int a=std::sqrt(4);这样就会错的
追答
不好意思我好像把你的问题理解错了。函数库里面的函数前面都不需要加std::的,cin,cout是输入输出流里面的,和cmath里面的函数是不同的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式