gpt4 book ai didi

c++ - std::gcd 不在 g++ 5.4.0 中编译—— 'gcd' 不是 'std' 的成员

转载 作者:搜寻专家 更新时间:2023-10-31 00:25:49 26 4
gpt4 key购买 nike

环境:

  • Ubuntu 16.04 64 位
  • g++ 5.4.0 版

这是代码:

#include <numeric>
...
auto g = std::gcd(10, 4);
...

我在编译命令中开启了-std=c++17选项:

g++ -m64 -std=c++17   -c -g -w -MMD -MP -MF "build/Debug/GNU-Linux/main.o.d" -o build/Debug/GNU-Linux/main.o main.cpp

然后我得到了错误:

error: 'gcd' is not a member of 'std'

来自 this webpage , std::gcd 从 C++17 开始引入。

来自 this webpage ,我的 g++ 版本支持 C++17。

但是为什么还是有错误呢?相同的代码在 Visual Studio 2017 中编译没有任何错误。

最佳答案

std::gcd 仅从 GCC 7.1 开始可用。

来自 Table 1.5. C++ 2017 Implementation Status

enter image description here

请参阅多个一致性查看器 GCC versions .

关于c++ - std::gcd 不在 g++ 5.4.0 中编译—— 'gcd' 不是 'std' 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54746702/

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