相关疑难解决方法(0)

`cosf`,`sinf`等不在`std`中

根据此处的讨论,我已向Ubuntu开发人员报告了一个错误


编译以下示例c ++程序时:

#include <cmath>
#include <stdio.h>

int main()
{
    printf("%f\n", std::cosf(0.0f));
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息: error: ‘cosf’ is not a member of ‘std’

包含math.h和使用非命名空间版本可以正常工作。到底是怎么回事?

我在Ubuntu 19.04上使用g ++ 8.3.0-6ubuntu1。

我正在与 g++ --std=c++17 test.cpp

c++ gcc libstdc++

14
推荐指数
1
解决办法
571
查看次数

fabsf是C ++ 11中std名称空间的一部分吗?

https://en.cppreference.com/w/cpp/numeric/math/fabs页面提到std::fabsf自C ++ 11起可用。但是,当我使用G ++ 6.3.0甚至编译使用的最简单的程序时std::fabsf,它说fabsf也不是的成员std

#include <cmath>
int main()
{
    return (int)std::fabsf(0.0f);
}
Run Code Online (Sandbox Code Playgroud)

哪一个是对的?G ++ 6.3.0是否没有将其包含在其中std是错误的,还是上述页面将其作为stdC ++ 11的一部分提及时是错误的?

并且如果是G ++错误,那么在更高版本中是否已解决?

c++ cmath c++11

6
推荐指数
2
解决办法
422
查看次数

gcc 7.2.0无法识别std :: expf和std :: logf

似乎gcc(尝试7.2.0和5.4.0)没有std :: expfstd :: logf-请参阅coliru 示例。由于cppreference表示它们是在C ++ 11中添加的,我是否缺少某些gcc特定宏,或者它们在gcc中总体上还是缺失的?

gcc c++11

5
推荐指数
1
解决办法
260
查看次数

标签 统计

c++ ×2

c++11 ×2

gcc ×2

cmath ×1

libstdc++ ×1