首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >g++ 5.4.0中不编译gcd --“gcd”不是“std”的成员

g++ 5.4.0中不编译gcd --“gcd”不是“std”的成员
EN

Stack Overflow用户
提问于 2019-02-18 11:52:00
回答 1查看 720关注 0票数 2

环境:

  • Ubuntu 16.04 64位
  • g++版本5.4.0

这是代码:

代码语言:javascript
运行
复制
#include <numeric>
...
auto g = std::gcd(10, 4);
...

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

代码语言:javascript
运行
复制
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 2017中,相同的代码编译时没有任何错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-18 12:44:08

std::gcd只在GCC 7.1以后提供。

来自表1.5.C++ 2017年执行情况

参见多个GCC版本的一致性查看器。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54746702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档