std :: gcd не компилируется в g ++ 5.4.0 - 'gcd' не является членом 'std' - PullRequest
0 голосов
/ 18 февраля 2019

Среда:

  • Ubuntu 16.04 64 бит
  • г ++ версия 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.

1 Ответ

0 голосов
/ 18 февраля 2019

std::gcd доступно только для GCC 7.1.

Из Таблица 1.5.Состояние реализации C ++ 2017

enter image description here

См. Средство просмотра соответствия для нескольких версий GCC .

...