gpt4 book ai didi

C++:gcc/g++ 编译器错误 logf 不是 std 的成员

转载 作者:行者123 更新时间:2023-12-04 07:35:32 28 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





std::expf and std::logf not recognized by gcc 7.2.0

(3 个回答)


3个月前关闭。




我编写了一个 C++ 文件,其中包含一个使用 std::logf() 的函数。 .它包含这一行

float xx = std::logf(x) - 1.0f;
编译器给了我以下错误:
math_functions.cpp: In function ‘int fclamp_log_to_int(float, int, int)’:
math_functions.cpp:49:21: error: ‘logf’ is not a member of ‘std’; did you mean ‘logb’?
49 | float xx = std::logf(x) - 1.0f;
| ^~~~
| logb
我已经包含了 cmath header ,这是根据 https://en.cppreference.com/w/cpp/numeric/math/log 所必需的
我的 g++ 版本是
g++ (Debian 10.2.1-6) 10.2.1 20210110
我已经包含了标志 -std=c++11在我的 Makefile .
logflog编译没有问题。
这是一个 gcc问题?

最佳答案

Is this a gcc problem?


是的。它是 reported .平心而论,是否 std::logf 有点不清楚。由于编辑错误导致标准中的矛盾 fixed 要求存在在 C++17 中。
您可以使用 std::log(float) 解决它反而。另一种解决方法是使用 ::logf ,虽然这不是必需的,因为您可以使用 std::log(float) .

关于C++:gcc/g++ 编译器错误 logf 不是 std 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67763398/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com