c++ - std::gcd 不能在 g++ 5.4.0 中编译——“gcd”不是“std”的成员
问题描述
环境:
- 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
然后我得到了错误:
错误:“gcd”不是“std”的成员
从这个网页,std::gcd
从 C++17 开始介绍。
在这个网页上,我的 g++ 版本支持 C++17。
但是为什么还是有错误?相同的代码在 Visual Studio 2017 中编译没有任何错误。
解决方案
推荐阅读
- python - Python Matplotlib:如何为图例添加“坏”颜色?
- excel - 保护某些范围不被编辑和删除,但允许使用分组
- android - 试图让我的应用程序设备所有者在模拟器中
- elasticsearch - ElasticSearch 映射问题 - 嵌套到非嵌套
- batch-file - 我想在 BatchScript ToGether 中运行两个命令
- r - 为什么带有“余弦”方法的 textstat_simil() 返回 NA
- unix - 在 Unix 中的子文件夹中使用 du -hs * 命令的差异
- asp.net-core - 将数据从自定义验证属性传递到页面/视图
- firebase - Flutter google授权响应类型OAuth 2
- c++ - 如何将 unique_ptr 传递给另一个类以仅使用指针的方法(不更改所有权)?