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";
} 展开
#include<cmath>
int main()
{
int a=sqrt(4);
std::cout<<a<<"\n";
} 展开
2个回答
展开全部
因为<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里面的函数是不同的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询