'sqrt'不是'std'的成员 [英] 'sqrt' is not a member of 'std'

查看:497
本文介绍了'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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆