'sqrt'不是'std'的成员 [英] 'sqrt' is not a member of 'std'
本文介绍了'sqrt'不是'std'的成员的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在Linux上编译程序-它包含以下行:
I compile my program in linux - it has the following line :
std::sqrt((double)num);
在Windows上还可以,但是在Linux上我得到'sqrt'不是'std'的成员 我包含了math.h
On windows it is ok,but on linux I get 'sqrt' is not a member of 'std' I have an include for math.h
这是什么问题?
推荐答案
将指令更改为#include <cmath>
.形式为<cxxxxxxx>
的C ++头保证在std
命名空间中具有标准名称(并且可以可选地在全局命名空间中提供它们). <xxxxxx.h>
不是.
Change the directive to #include <cmath>
. C++ headers of the form <cxxxxxxx>
are guaranteed to have the standard names in std
namespace (and may optionaly provide them in global namespace). <xxxxxx.h>
are not.
这篇关于'sqrt'不是'std'的成员的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文