本文介绍了'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'的成员
发布评论